我正在尝试弄清楚如何在 Python 中使用 MySQLdb 库(对于这两个库我充其量都是新手)。
我正在关注代码here, 具体来说:
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
值符合预期(即使我更改表中的值,它也会更改为我期望的值)。
每次我使用 PHPMyAdmin 查看数据库时,都没有插入任何内容。我如何提交INSERT
到数据库?
你忘记commit
数据更改时,默认情况下禁用自动提交:
cursor.close ()
conn.commit ()
conn.close ()
Quoting 使用 Python DB-API 编写 MySQL 脚本文档:
“连接对象 commit() 方法提交任何未完成的更改
在当前事务中使它们永久存在于数据库中。在
DB-API,连接以禁用自动提交模式开始,因此您必须
在断开连接之前调用 commit(),否则更改可能会丢失。”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)