MySQLdb 更新卡住
我在用Python的MySQLdb模块做一些简单的查询。当我执行某个UPDATE操作时,它会卡住一段时间,最后出现这个错误:
操作错误 (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]
如果我在控制台里执行这个查询,它运行得很好。而且,如果不使用数据库参数,直接在查询中用mydatabase.MYTABLE也不行。
有没有人能帮帮我?
1 个回答
1
这可能是因为你的 UPDATE
操作没有被提交。你有没有试过在连接时设置 autocommit=True
呢?就像下面这样:
db = MySQLdb.connect(host='localhost', user='user', passwd='', db='mydatabase', autocommit=True)
或者甚至可以在你创建连接之后这样做。
db.autocommit(True)