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没有插入数据的主要内容,如果未能解决你的问题,请参考以下文章

如何通过mysqldb将熊猫数据框插入数据库?

使用 MySQLdb 插入 MySQL - python

Python MySQLdb 面向对象

Python MySQLdb模块:不调用字符串格式可以插入或更新吗?

使用 SQLAlchemy 和 Pandas 插入数据 - Python

MySQLdb使用批量插入executemany方法插入mysql