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

标签 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 次调用?

或多次调用?

最佳答案

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

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

事务创建一个原子操作,作为一个单元要么成功,要么失败,即使它由五个单独的操作组成。

关于php - PHP MySQL 事务是否只对服务器进行一次调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39111548/

相关文章:

mysql - 从存储过程内的更新语句获取结果

php - codeigniter 不同的 mysql 查询

php - 如何在 laravel 5.6 中使用 hasMany 分页并显示所有记录?

php - 是否支持在 1 个查询中进行多次插入?

php - FedEx express 汇率 API 请求

mysql - 同一行有多个匹配项

php - Woocommerce 返回价格未正确显示

用于解析标签的 php preg_match 模式

php - 在 sql 查询中使用 php 变量

php - 从 php 中的 mysql 查询获取前一行