2012-02-11 46 views
0

我搬到到MySQL從SQLite和有趣的問題 - 通過Django管理時,我大量刪除對象(大約100左右)我得到這個MySQL錯誤:MySQL的1205錯誤的散裝Django管理刪除

(1205, 'Lock wait timeout exceeded; try restarting transaction') 

這從來沒有發生與相同型號的sqlite。

我可以刪除最多兩條記錄,其中三條失敗。

的設置是windows7的,MySQL的5.5.20,蟒2.7,1.3的django

回答

2

即誤差是直接從MySQL。它發生在表上創建了鎖並且因任何原因而未被釋放時。您可以嘗試重新啓動您的MySQL服務器。這可能足以清除事情並允許您繼續。您還可以編輯您的my.conf文件(不知道它在Windows的位置,但應與你的MySQL東西休息),並更改以下行到一個較長的時間段(數量爲秒):

innodb_lock_wait_timeout = 50 
0

原因可能是這個問題有很多原因。我的情況是由索引混合引起的 - 我只能通過重新創建數據庫和導入數據來解決這個問題。

一般

show status 
show engine innodb status 
explain <select causing issues> 

可以提供一些提示。