使用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();
这只会对服务器进行一次调用吗?
或多次通话?
答案 0 :(得分:0)
欢迎来到MVCC或多版本并发控制的世界,这是一种奇特的方式,说明事务创建了一个临时的替代现实应用这些更改,但在您提交更改之前,没有其他人可以看他们。提交时,数据库将更改合并回主数据库。如果你回滚它就像他们从未发生过一样。
这实际上是对服务器进行五次调用,一次是打开事务,三次是插入数据,另一次是提交。
该事务创建一个原子操作,即使它由五个单独的操作组成,也可以作为一个单元成功或失败。