我正在尝试弄清楚如何在Python中使用MySQLdb库(我对这两个都是最好的新手)。
我在这里遵循代码,特别是:
cursor = conn.cursor () cursor.execute ("DROP TABLE IF EXISTS animal") cursor.execute (""" CREATE TABLE animal ( name CHAR(40), category CHAR(40) ) """) cursor.execute (""" INSERT INTO animal (name, category) VALUES ('snake', 'reptile'), ('frog', 'amphibian'), ('tuna', 'fish'), ('racoon', 'mammal') """) print "Number of rows inserted: %d" % cursor.rowcount cursor.close () conn.close ()
我可以更改此代码以创建或删除表,但实际上无法提交它INSERT。它row.count按预期返回值(即使更改表中的值,它也会更改为我期望的值)。
INSERT
row.count
每次我使用PHPMyAdmin查看数据库时,都不会进行插入。如何将提交INSERT到数据库?
您会忘记commit数据更改,默认情况下自动提交是禁用的:
commit
cursor.close () conn.commit () conn.close ()
用Python DB- API文档引用编写MySQL脚本的方法:
“连接对象的commit()方法将提交当前事务中所有未完成的更改,以使其在数据库中永久存在。在DB- API中,连接以禁用的自动提交模式开始,因此必须在断开连接之前调用commit(),否则更改可能会丢失。”