ホームページ  >  記事  >  データベース  >  ユーザーはどのようにして新しい MySQL トランザクションを開始するのでしょうか?

ユーザーはどのようにして新しい MySQL トランザクションを開始するのでしょうか?

WBOY
WBOY転載
2023-08-24 23:41:16842ブラウズ

用户如何开始新的 MySQL 事务?

ユーザーは、START TRANSACTION コマンドを実行して、新しい MySQL トランザクションを開始できます。トランザクションの動作は、SQL AUTOCOMMIT モードによって異なります。デフォルトのモードは「AUTOCOMMIT ON」モードで、各 MySQL ステートメントは完全なトランザクションとして扱われ、デフォルトで完了時にコミットされます。以下に示すように、セッション変数 AUTOCOMMIT を 1 に設定することで開始できます -

SET AUTOCOMMIT = 1

mysql> SET AUTOCOMMIT = 1;
Query OK, 0 rows affected (0.07 sec)

ユーザーが MySQL トランザクションのこの動作を変更したい場合は、「AUTOCOMMIT OFF」SQL モードを設定できます。このモードでは、後続の一連の MySQL ステートメントはトランザクションのように動作し、明示的な COMMIT ステートメントが発行されるまでアクティビティはコミットされません。このモードでは、新しいセッションの最初の実行可能ステートメントによって、新しい複数ステートメントのトランザクションが暗黙的に開始されます。以下に示すように、セッション変数 AUTOCOMMIT を 0 に設定することで開始できます。 -

SET AUTOCOMMIT = 0

mysql> SET AUTOCOMMIT = 0;
Query OK, 0 rows affected (0.00 sec)

InnoDB のトランザクションの場合、SET AUTOCOMMIT = 0 を使用せず、代わりに COMMIT コマンドを使用してコミットします。

どちらの SQL モードでも、次のように START TRANSACTION コマンドを使用してトランザクションが開始されます。 -

mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)

実際、上記のクエリは、次のステートメントを単一ユニットとして扱う必要があることを MySQL に通知します。トランザクションが終了するまでの作業。

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

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。