【发布时间】:2024-01-29 01:20:01
【问题描述】:
在我们的数据库层对象中,我们总是通过 mysqli::query 执行的“START TRANSACTION”、“ROLLBACK”和“COMMIT”SQL 语句来管理事务。
今天做一些研究,我发现this mention in the MySQL Manual 关于使用 API 级别调用来管理事务 VS 使用直接 SQL:
重要
许多用于编写 MySQL 的 API 客户端应用程序(例如 JDBC) 提供自己的启动方法 可以(有时 应该)而不是发送一个 START TRANSACTION 语句从 客户。请参阅第 20 章,连接器和 API 或您的文档 API,了解更多信息。
而且,在仔细观察 mysqli 后,发现了用于管理事务的 mysqli::autocommit、mysqli::rollback 和 mysqli::commit 方法 (http://us.php.net/manual/en/class.mysqli.php)。
我的问题:使用这些 mysqli 等价物更好吗?为什么?我找不到任何地方提到这些函数是否或为什么比它们的直接 SQL 对应物更好。
【问题讨论】:
-
好问题,我没有完全按照提供的答案...
标签: php mysql transactions mysqli database-connection