1

我正在使用 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]

如果我尝试在控制台中使用该查询,则效果很好。此外,如果在没有 db 参数的情况下连接并在查询中使用 mydatabase.MYTABLE 也不起作用。

有什么帮助吗?

4

1 回答 1

1

这可能是因为UPDATE没有提交 - 您是否尝试autocommit=True过连接?如在

db = MySQLdb.connect(host='localhost', user='user', passwd='', db='mydatabase', autocommit=True)

甚至可能

db.autocommit(True)

创建连接后。

于 2013-01-29T11:53:46.590 回答