我正面临着一个问题,我试图用InnonDB引擎将python脚本中的数据添加到mysql数据库中,它在mysql数据库的myisam引擎中工作得很好。但是myisam引擎的问题是它不支持外键,所以我必须在每个我想在数据库中插入/删除记录的地方添加额外的代码。
有谁知道为什么InnonDB不能与python脚本一起工作,以及这个问题的可能解决方案?
发布于 2011-04-14 03:45:51
InnoDB是事务性的。在插入/删除/更新之后,需要调用connection.commit()。
编辑:您可以调用connection.autocommit(True)打开自动提交。
发布于 2011-04-14 04:53:20
默认情况下,Python DB API禁用自动提交
从google粘贴(第一页,第二个结果)
MySQL ::MySQL 5.0参考手册::13.2.8 InnoDB ... 缺省情况下,MySQL使用autocommit ... dev.mysql.com/.../innodb-transaction-model.html为每个新连接启动会话
然而,
显然,Python以非自动提交模式启动MySQL,请参阅:
http://www.kitebird.com/articles/pydbapi.html
摘自文章:
连接对象提交()方法提交当前事务中的任何未完成的更改,以使它们在数据库中永久存在。在DB-API中,连接以自动提交模式禁用提交开始,因此您必须在断开连接之前调用(),否则更改可能会丢失。
不幸的是,我不知道如何推翻这一点,我不想让你因为猜测而误入歧途。我建议打开一个新问题,标题是:
如何在MySQL python DB-API中启用自动提交模式?
祝好运。
https://stackoverflow.com/questions/5654107
复制相似问题