gpt4 book ai didi

python - 为什么 'insert' 函数不使用 MySQLdb 添加行?

转载 作者:太空狗 更新时间:2023-10-29 21:21:21 24 4
gpt4 key购买 nike

我正在尝试弄清楚如何在 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 ()

引用 Writing MySQL Scripts with Python DB-API文档:

"The connection object commit() method commits any outstanding changes in the current transaction to make them permanent in the database. In DB-API, connections begin with autocommit mode disabled, so you must call commit() before disconnecting or changes may be lost."

关于python - 为什么 'insert' 函数不使用 MySQLdb 添加行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9173073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com