Python MySql Insert无法正常工作

nik*_*hil 50 python mysql

我正在使用python MySQL API从python程序连接到Mysql数据库.我几天就遇到了问题.我无法将记录插入数据库,也不知道原因是什么.这是我连接并将记录插入数据库的方式.

db = MySQLdb.connect("localhost","root","padmaramulu","pdfsearch" )
cursor = db.cursor()
#cursor.execute("""CREATE TABLE IF NOT EXISTS documents (docid INT NOT NULL ,PRIMARY KEY(docid),docname CHAR(30)) engine=innodb""")
temp = "hello";number = 2;
cursor.execute( 'insert into documents(docid,docname) values("%d","%s")' % (number,temp) )
db.close()
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

小智 125

在关闭连接之前,您应该添加db.commit().

  • 或者,您可以在脚本开头使用db.autocommit(True).因为从1.2.0开始,MySQLdb的自动提交被禁用 (18认同)
  • 谢谢你,先生!在我读这篇文章之前,我一直在挠头。非常感激! (2认同)

Mut*_*. V 6

如果你在 MySQL 中使用InnoDB引擎,你应该添加

db.commit() 
Run Code Online (Sandbox Code Playgroud)

否则将您的 MySQL 引擎更改为MyISAM,无需更改任何代码。