不带事务的python mysqldb

不带事务的python mysqldb,python,mysql,transactions,mysql-python,Python,Mysql,Transactions,Mysql Python,我正在阅读python的MySQLdb中的事务是如何工作的。在这方面,它说: 在Python DB API中,我们不调用BEGIN语句来启动 交易创建光标时,事务将启动 下面是一句话: cur = con.cursor() 隐式启动事务。它还说: 我们必须使用commit()或rollback()结束事务 方法 我是否正确理解,MySQLdb总是使用事务,并且无法关闭此行为?强制用户在事务中包含所有查询似乎有点奇怪。如果是-有什么解释吗?我不是这方面的专家,但我认为您在这里寻找的功能是自动提交

我正在阅读python的
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是否总是启动事务,而你不能关闭它。这取决于你的存储引擎。如果选择不同的存储引擎,则可以: