我正在使用MySQL的MySQLdb模块进行一些简单的查询。当我执行某个更新时,它会挂起一段时间,最后会出现此错误:
操作错误(超过1205'锁定等待超时尝试重新启动 交易')
我正在使用的代码如下:
def unselectAll():
try:
db = MySQLdb.connect(host='localhost', user='user', passwd='', db='mydatabase')
cursor = db.cursor()
cursor.execute('UPDATE MYTABLE SET Selected=0')
except MySQLdb.Error, e:
print 'ERROR ' + e.args[0] + ': ' + e.args[1]
如果我尝试在控制台中使用该查询,则效果很好。此外,如果在没有db参数的情况下连接并且在查询中使用mydatabase.MYTABLE也不起作用。
任何帮助?
答案 0 :(得分:1)
这可能是因为UPDATE
没有提交 - 您是否尝试autocommit=True
进行连接?如在
db = MySQLdb.connect(host='localhost', user='user', passwd='', db='mydatabase', autocommit=True)
或者甚至
db.autocommit(True)
您创建了连接后。