禁用自动提交的副作用


Side-effects of disabling auto-commits

我们正在尝试使用Wordpress wpdb对象运行事务-不确定这是否重要。

wpdb->query('BEGIN TRANSACTION');
// Run transaction related queries
if($error) {
   // ROLLBACK
} else {
   // COMMIT
}

现在,mysql似乎做了一件出色的事情,将auto_commit设置为true,这会导致执行后的每个查询都自动提交。我们了解到,我们可以通过运行SET auto_commit = 0来禁用这个惊人的功能。

在查询结束时,我们将运行SET auto_commit = 1。我的问题是,这会影响同时在DB上运行的任何其他查询吗?

不幸的是,并不是每个数据库都支持事务,因此当您第一次打开连接时,PDO需要以所谓的"自动提交"模式运行。自动提交模式意味着,如果数据库支持,运行的每个查询都有自己的隐式事务;如果数据库不支持事务,则没有事务。如果您需要一个事务,则必须使用PDO::beginTransaction()方法来启动一个事务
现在猜猜是好是坏?