Python MySQL:不显示插入的记录

时间:2012-04-04 07:07:23

标签: python mysql insert

我正在使用带有MySQLdb 32bit的Python 2.7,以及运行本地的MySQL 5.5.8。

我为此疯狂,我从来没有见过这样的事情。

基本上,我通过以下方式从Python中将记录插入MySQL:

db=MySQLdb.connect(host="localhost",user="root", passwd="mypassword",db="python",port=3307)
cur=db.cursor()
cur.execute("INSERT INTO mytable(myfield) VALUES(%s);","somedata")

我已经验证它已正确连接,并且可以从数据库中成功SELECT数据。

这是奇怪的部分: 从MySQL查询浏览器(GUI工具)和MySQL通过CMD,我无法看到插入的记录。

我可以从我的Python脚本插入和选择记录,但它们不会显示在我的数据库中,它只返回Empty Set (0.00 sec)

这是非常奇怪的部分:我可以从GUI工具和控制台截断和删除数据。

总结一下:我可以从Python脚本插入和选择数据。我无法在MySQL中看到这些数据。但是,我可以使用MySQL截断并删除该数据。

此时我完全迷失了。

1 个答案:

答案 0 :(得分:20)

如果你的代码在控制台中工作但不是其他,我相信你需要添加一行

db.autocommit(True)

连接后,或者在插入后需要db.commit()