不带事务的python mysqldb
我正在阅读python的不带事务的python mysqldb,python,mysql,transactions,mysql-python,Python,Mysql,Transactions,Mysql Python,我正在阅读python的MySQLdb中的事务是如何工作的。在这方面,它说: 在Python DB API中,我们不调用BEGIN语句来启动 交易创建光标时,事务将启动 下面是一句话: cur = con.cursor() 隐式启动事务。它还说: 我们必须使用commit()或rollback()结束事务 方法 我是否正确理解,MySQLdb总是使用事务,并且无法关闭此行为?强制用户在事务中包含所有查询似乎有点奇怪。如果是-有什么解释吗?我不是这方面的专家,但我认为您在这里寻找的功能是自动提交
MySQLdb
中的事务是如何工作的。在这方面,它说:
在Python DB API中,我们不调用BEGIN语句来启动
交易创建光标时,事务将启动
下面是一句话:
cur = con.cursor()
隐式启动事务。它还说:
我们必须使用commit()或rollback()结束事务
方法
我是否正确理解,
MySQLdb
总是使用事务,并且无法关闭此行为?强制用户在事务中包含所有查询似乎有点奇怪。如果是-有什么解释吗?我不是这方面的专家,但我认为您在这里寻找的功能是自动提交。
这会自动提交您的命令。因此,您应该能够跳过“开始”语句
下面是一页:
在启动python MySQLdb实例时设置:
conn=MySQLdb.connect(host='blah', autocommit=True)
然后,您应该有一个不用担心事务的连接
某些存储引擎不使用事务,因此,如果使用事务,则无需担心以下细节:
en.wikipedia.org/wiki/Comparison\u of\u MySQL\u数据库\u引擎
但是,如果insert\update中途失败,它们可能会遇到问题 谢谢你的提示,但这并不能真正回答问题,那就是:MySQLdb是否总是启动事务,而你不能关闭它。这取决于你的存储引擎。如果选择不同的存储引擎,则可以: