问题:MySQL 和 Python 不会自动更新数据库
当尝试通过 Python 代码更新 MySQL 数据库中的行时,数据库不会自动反映更改。直接查询数据库,显然没有发生更新。
可能的解决方案
问题可能源于未正确提交事务。 MySQLdb 默认禁用自动提交。在关闭连接之前添加 conn.commit() 将确保更改永久存储在数据库中。
修改的代码
import MySQLdb conn=MySQLdb.connect(host="localhost", user="root", passwd="pass", db="dbname") cursor=conn.cursor() cursor.execute("UPDATE compinfo SET Co_num=4 WHERE ID=100") conn.commit() # Commit the changes to the database cursor.execute("SELECT Co_num FROM compinfo WHERE ID=100") results = cursor.fetchall() for row in results: print row[0] print "Number of rows updated: %d" % cursor.rowcount cursor.close() conn.close()
通过之前提交事务关闭连接,代码应该成功更新数据库并在直接查询时反映更改。
以上是为什么我的 Python MySQL 数据库更新没有反映?的详细内容。更多信息请关注PHP中文网其他相关文章!