使用 MySQL 时,了解事务如何工作至关重要。事务是一种对多个查询进行分组并确保它们以原子方式执行的方式,这意味着所有查询要么全部成功,要么全部都不成功。
在 MySQLi 中,事务是通过停用来启动的使用 autocommit(FALSE) 语句的自动提交模式。自动提交是MySQL的默认行为,这意味着每个查询都是独立且立即执行的。通过禁用自动提交,您可以启用事务控制,从而允许您对多个查询进行分组并将它们作为一个单元执行。
在事务中对所需的查询进行分组后,您必须明确结束它。有两种方式结束事务:
考虑以下 PHP 代码片段:
<?php // Database connection $mysqli = new mysqli('localhost', 'username', 'password', 'database'); // Start transaction $mysqli->autocommit(FALSE); // Queries within the transaction $mysqli->query('UPDATE `table` SET `column` = 1'); $mysqli->query('UPDATE `table1` SET `column1` = 2'); // Commit or rollback if ($allQueriesExecutedSuccessfully) { $mysqli->commit(); } else { $mysqli->rollback(); } ?>
在此示例中,使用 autocommit(FALSE) 禁用自动提交模式,启动事务。事务内执行多个查询。根据执行状态,事务要么提交,要么回滚。
以上是如何在 MySQLi 中开始和结束事务?的详细内容。更多信息请关注PHP中文网其他相关文章!