我在更新 MySQL 数据库中的一行时遇到了一些问题。这是我要运行的代码:
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")
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()
我运行这个程序时得到的输出是:
4
更新的行数:1
看起来它正在工作,但如果我从 MySQL 命令行界面 (CLI) 查询数据库,我发现它根本没有更新。但是,如果我从 CLI 输入UPDATE compinfo SET Co_num=4 WHERE ID=100;
数据库,则会按预期更新。
我的问题是什么?我在 Windows 机器上运行 Python 2.5.2 和 MySQL 5.1.30。