我们正在尝试使用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()方法来启动一个事务
现在猜猜是好是坏?