Python MySQLdb没有插入数据
Posted
技术标签:
【中文标题】Python MySQLdb没有插入数据【英文标题】:Python MySQLdb not inserting data 【发布时间】:2013-02-02 11:18:50 【问题描述】:ubuntu 版本:12.10 mysql服务器版本:5.5.29-0 蟒蛇版本:2.7
我正在尝试使用 MySQLdb 将数据插入到我的 localhost mysql 服务器中。运行脚本时我没有收到任何错误,但数据没有输入到我的表中。我用 phpmyadmin 查看表。
我尝试回到基础并按照教程进行操作,但结果相同。奇怪的是我可以创建和删除表,但不能输入数据。
代码来自教程,甚至报告插入了 4 行。当脚本报告一切正常时,是什么阻止数据输入到表中??
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 "%d rows were inserted" % cursor.rowcount
【问题讨论】:
游标是否可能被包裹在事务中? 我不确定,但您是否忘记在插入语句末尾添加;
?
AndrewP:我不知道那是什么意思。 Darklord:我添加了分号,但没有任何改变。我没有收到任何错误,甚至将代码包装在 try/except 语句中,没有失败。我认为这不是代码,而是配置的一些问题。我会继续尝试,或者放弃尝试 Oracle 库。
【参考方案1】:
添加:
conn.commit()
在脚本的底部。
另外,请看以下内容:http://mysql-python.sourceforge.net/MySQLdb.html
【讨论】:
指定的库已经过时了,并且有一个积极维护的分支。源代码github.com/PyMySQL/mysqlclient,文档mysqlclient.readthedocs.io。以上是关于Python MySQLdb没有插入数据的主要内容,如果未能解决你的问题,请参考以下文章
Python MySQLdb模块:不调用字符串格式可以插入或更新吗?