MySQLdb不插入,_mysql正常
好的,我以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()
来自动提交请求。