MySQLdb不插入,_mysql正常

4 投票
2 回答
2534 浏览
提问于 2025-04-15 21:19

好的,我以root用户身份登录到MySQL命令行客户端。然后,我用MySQLdb模块以root身份打开或运行一个Python应用程序。当我在Python(IDLE)中检查结果时,一切看起来都很好。但是,当我使用MySQL命令行客户端时,发现没有进行任何INSERT操作。如果我把MySQLdb换成_mysql,所有东西就都正常了。我希望能得到一些解释。

“正常工作”直到IDLE/虚拟机重置:

import MySQLdb
db = MySQLdb.connect(user='root', passwd='*******',db='test')
cursor = db.cursor()
cursor.execute("""INSERT INTO test VALUES ('somevalue');""",)

正常工作:

import _mysql
db = _mysql.connect(user='root', passwd='*******',db='test')
db.query("INSERT INTO test VALUES ('somevalue');")

系统信息: Intel x86 WinXP Python 2.5 MySQL 5.1.41 MySQL-Python 1.2.2

2 个回答

4

我觉得他们使用了不同的自动提交设置。在插入数据后,记得用commit()来提交。

17

你可以使用 db.commit() 来提交数据,或者在 _mysql.connect(...) 之后设置 db.autocommit() 来自动提交请求。

撰写回答