ホームページ >バックエンド開発 >PHPチュートリアル >MySQLi トランザクションはどのように始まり、終了するのでしょうか?

MySQLi トランザクションはどのように始まり、終了するのでしょうか?

DDD
DDDオリジナル
2024-12-07 08:02:13209ブラウズ

How Do MySQLi Transactions Begin and End?

MySQLi のトランザクション: 開始と終了

質問:
MySQLi のトランザクションが開始されるかどうかを明確にしていただけますか$mysqli->autocommit(FALSE) を使用し、次のように終了します。 $mysqli->commit() は提供されたコード サンプルに基づいていますか?

答え:
はい、提供された理解は正確です。 MySQLi のトランザクションは $mysqli->autocommit(FALSE) コマンドで開始され、$mysqli->commit() で終了します。トランザクション中、すべてのデータベース操作は 1 つのユニットとしてグループ化されます。

追加の説明:

MySQLi の自動コミット機能は、クエリがデータベースに自動的にコミットされるかどうかを制御します。 TRUE (デフォルト) に設定すると、各クエリは個別にコミットされます。 autocommit を FALSE に設定すると、$mysqli->commit() で完全な単位としてコミットされる前に、複数のクエリを実行できるトランザクション ウィンドウが開きます。

提供されているサンプル コード:

  • 最初の CREATE TABLE ステートメントはトランザクション制御なしで実行されるため (つまり、自動コミットは TRUE のまま)、コミットされます。
  • 後続の INSERT INTO クエリは、自動コミットを FALSE に設定して、トランザクションに属していることを示した後に実行されます。
  • DROP TABLE ステートメントは、$mysqli->commit() の後に実行されます。これにより、トランザクションが終了し、DROP TABLE ステートメントが自動コミットされます。

以上がMySQLi トランザクションはどのように始まり、終了するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:懸念の分離 (SoC)次の記事:懸念の分離 (SoC)