Jay*_*uso 7 python mysql sql insert mysql-python
我正在试图弄清楚如何在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 ()
Run Code Online (Sandbox Code Playgroud)
我可以更改此代码来创建或删除表,但我无法让它实际提交INSERT.它row.count按预期返回值(即使我更改表中的值,它也会更改为我预期的值).
每次我使用PHPMyAdmin查看数据库时都没有插入.我如何提交INSERT到数据库?
dan*_*era 17
您忘记了commit数据更改,默认情况下禁用自动提交:
cursor.close ()
conn.commit ()
conn.close ()
Run Code Online (Sandbox Code Playgroud)
"连接对象commit()方法提交当前事务中的任何未完成的更改,使它们在数据库中永久保留.在DB-API中,连接以禁用自动提交模式开始,因此必须在断开连接之前调用commit(),否则更改可能会丢失".