Python 中的 MySQL 更新:解决失败的更新
在 Python 脚本中执行 MySQL 更新查询时,可能会遇到更新命令的问题报告执行成功,但表保持不变。为了纠正这个问题,理解 MySQL 中事务和提交的概念至关重要。
事务是作为单个单元执行的一组操作。在 MySQL 中,事务在执行更新查询时开始,在提交事务时结束。如果事务未提交,则在该事务期间所做的任何更改都不是永久性的,并将被丢弃。
为了解决问题中描述的问题,缺少的步骤是在更新查询完成后发出提交命令被执行。此提交命令通知 MySQL 服务器应将事务中所做的所有更改永久保存到数据库中。
以下代码片段演示了提交命令的用法:
import MySQLdb dbb = MySQLdb.connect(host="localhost", user="user", passwd="pass", db="database") try: curb = dbb.cursor() curb.execute("UPDATE RadioGroups SET CurrentState=1 WHERE RadioID=11") dbb.commit() # Commit the transaction print("Row(s) were updated :" + str(curb.rowcount)) curb.close() except MySQLdb.Error as e: print("Query failed") print(e)
通过包括 dbb.commit() 语句,事务中所做的所有更改,包括对 RadioGroups 表的更新,都将永久保存到数据库中。
以上是为什么我的 Python 中的 MySQL 更新没有生效?的详细内容。更多信息请关注PHP中文网其他相关文章!