【问题标题】:Python MySQL: Not showing inserted records [duplicate]Python MySQL:不显示插入的记录[重复]
【发布时间】:2012-04-17 21:12:30
【问题描述】:

我正在使用带有 MySQLdb 32 位的 Python 2.7,以及在本地运行的 MySQL 5.5.8。

我快把自己逼疯了,我从来没有见过这样的事情。

基本上,我通过以下方式将记录从 Python 插入 MySQL:

db=MySQLdb.connect(host="localhost",user="root", passwd="mypassword",db="python",port=3307)
cur=db.cursor()
cur.execute("INSERT INTO mytable(myfield) VALUES(%s);","somedata")

我已经验证它连接正确并且可以成功SELECT数据库中的数据。

这是奇怪的部分: 从 MySQL 查询浏览器(GUI 工具)和通过 CMD 从 MySQL,我无法看到插入的记录。

我可以从我的 Python 脚本中插入和选择记录,但它们不会显示在我的数据库中,它只会返回 Empty Set (0.00 sec)

这是真正奇怪的部分:我可以从 GUI 工具和控制台截断和删除数据。

总结一下:我可以从 Python 脚本中插入和选择数据。我在 MySQL 中看不到该数据。但是,我可以使用 MySQL 截断和删除该数据。

此时我完全迷失了。

【问题讨论】:

    标签: python mysql insert


    【解决方案1】:

    如果您的代码在控制台中有效,但在其他情况下无效,我相信您需要添加该行

    db.autocommit(True)
    

    连接后或插入后需要db.commit()

    【讨论】:

    • 在这种情况下commit 方法不在db 上吗?
    • 你是绝对正确的@exhuma,我的错。
    • 我希望我能在文档中的示例中找到它......谢谢!我会在大约接受你的回答。 4 分钟!
    猜你喜欢
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 2020-04-03
    • 2020-05-19
    • 1970-01-01
    • 2014-02-15
    • 2011-03-11
    相关资源
    最近更新 更多