我搬到到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
我搬到到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
即误差是直接从MySQL。它发生在表上创建了锁并且因任何原因而未被释放时。您可以尝试重新启动您的MySQL服务器。这可能足以清除事情并允许您继续。您还可以编辑您的my.conf
文件(不知道它在Windows的位置,但应与你的MySQL东西休息),并更改以下行到一个较长的时间段(数量为秒):
innodb_lock_wait_timeout = 50
原因可能是这个问题有很多原因。我的情况是由索引混合引起的 - 我只能通过重新创建数据库和导入数据来解决这个问题。
一般
show status
show engine innodb status
explain <select causing issues>
可以提供一些提示。