我一直在尝试使用 PyMysql 并且到目前为止我所做的一切都有效(选择/插入)但是当我尝试更新它时它不起作用,没有错误没有什么,只是没有做任何事情。
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 是否都正确并且测试确实存在(SELECT 对其有效)
我的问题是什么?
最佳答案
当您执行更新时,MySQL 会隐式启动事务。您需要在执行更新后通过调用 connection.commit()
来提交此事务,以防止事务在断开连接时自动回滚。
MySQL(至少在对表使用 InnoDB 引擎时)支持 transactions ,它允许您运行一系列更新/插入语句,然后让它们作为单个操作一次有效地提交,或者回滚以便不应用任何内容。如果您没有显式提交事务,则在您关闭与数据库的连接时它会自动回滚。
关于python - PyMysql 更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17758074/