使用 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中文網其他相關文章!