PyMysql更新查询

2024-03-29 08:40:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试使用PyMysql,到目前为止,我所做的一切都很有效(Select/insert),但当我尝试更新它时,它只是不起作用,没有错误,什么也没有,只是什么也没有做。

import pymysql
connection = pymysql.connect(...)
cursor = connection.cursor()
cursor.execute("UPDATE Users SET IsConnected='1' WHERE Username='test'")
cursor.close()
connection.close()

是的,我已经仔细检查了Users、IsConnected和Username是否都是正确的,并且测试确实存在(选择works on it)

我这里有什么问题?


Tags: importcloseexecuteconnect错误usernameupdateconnection
1条回答
网友
1楼 · 发布于 2024-03-29 08:40:29

当您执行更新时,MySQL隐式地启动了一个事务。您需要在执行更新后通过调用connection.commit()来提交此事务,以防止断开连接时事务自动回滚。

MySQL(至少在对表使用InnoDB引擎时)支持transactions,它允许您运行一系列update/insert语句,然后将它们作为一个操作同时有效地提交,或者回滚以使它们不被应用。如果未显式提交事务,则在关闭与数据库的连接时,该事务将自动回滚。

相关问题 更多 >