PHP MySQL事务是否只对服务器进行一次调用?

时间:2016-08-23 22:18:08

标签: php mysql

使用PHP和MySQL事务时 - 如下例所示。

$db->beginTransaction();

    // A set of queries; if one fails, an exception should be thrown
    $db->query('first query');
    $db->query('second query');
    $db->query('third query');

$db->commit();

这只会对服务器进行一次调用吗?

或多次通话?

1 个答案:

答案 0 :(得分:0)

欢迎来到MVCC或多版本并发控制的世界,这是一种奇特的方式,说明事务创建了一个临时的替代现实应用这些更改,但在您提交更改之前,没有其他人可以看他们。提交时,数据库将更改合并回主数据库。如果你回滚它就像他们从未发生过一样。

这实际上是对服务器进行五次调用,一次是打开事务,三次是插入数据,另一次是提交。

该事务创建一个原子操作,即使它由五个单独的操作组成,也可以作为一个单元成功或失败。