2012-02-11 47 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> 

可以提供一些提示。