当使用 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 次调用?
或多次调用?
最佳答案
欢迎来到 MVCC 的世界,或多版本并发控制,这是一种奇特的说法,事务创建了一个临时的替代现实,其中应用了这些更改,但在您提交更改之前没有其他人可以看到它们。提交后,数据库会将更改合并回主数据库。如果你回滚,就好像它们从未发生过一样。
这实际上对服务器进行了五次调用,一次用于打开事务,三次用于插入数据,一次用于提交。
事务创建一个原子操作,作为一个单元要么成功,要么失败,即使它由五个单独的操作组成。
关于php - PHP MySQL 事务是否只对服务器进行一次调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39111548/