开发者社区> 问答> 正文

数据库不会使用MySQL和Python自动更新

我在更新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机器上运行带有MySQL 5.1.30的Python 2.5.2。

展开
收起
保持可爱mmm 2020-05-11 11:14:25 379 0
1 条回答
写回答
取消 提交回答
  • 我不确定,但是我猜您正在使用INNODB表,但是您尚未执行提交。我相信MySQLdb会自动启用事务。

    先致电conn.commit()再致电close。来源:stack overflow

    2020-05-11 11:14:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载

相关镜像