python - PyMysql 更新查询

标签 python mysql sql-update pymysql

我一直在尝试使用 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/

相关文章:

python - Tensorflow 将 tf.Variable 数组格式化为字符串作为另一个文件中的输入

python - 使用 Python 上的 import 导入旧版本的脚本

java - 在 HQL 上加入声明

Django:基于计算的批量更新

php - 所有字段未填写后更新表单

python - 将networkx图转换为flare json

python - 为子域设置 SERVER_NAME 后 flask 中 www 前缀的问题

php - Zend Framework 2 PostgreSQL lastInsertValue 返回 null

mysql - 从远程服务器导入数据库的脚本

postgresql - 连接两列并用 postgresql 中的结果替换其中一列