Python MySQL:不显示插入的记录

MrZ*_*der 10 python mysql insert

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

我为此疯狂,我从来没有见过这样的东西.

基本上,我通过以下方式将记录插入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")
Run Code Online (Sandbox Code Playgroud)

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

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

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

这里有一个非常奇怪的部分:我可以从GUI工具和控制台截断和删除数据.

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

在这一点上我完全迷失了.

Nol*_*lty 20

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

db.autocommit(True)
Run Code Online (Sandbox Code Playgroud)

连接后或db.commit()插入后需要执行的操作.