現在の MySQL トランザクションを暗黙的に終了する方法は次のとおりです。
現在の MySQL トランザクションは次のようになります。暗黙的に終了し、変更は任意の DDL ステートメント (CREATE または DROP データベース、Create、ALTER または DROP テーブル、ストアド ルーチンなど) を実行することによってコミットされます。これは、MySQL ではこれらのステートメントをロールバックできないためです。
mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO MARKS Values(3,'gaurav','Comp',69); Query OK, 1 row affected (0.26 sec) mysql> Create table student(id int, Name Varchar(10),); Query OK, 0 rows affected (0.84 sec)
トランザクション間で DDL ステートメントを実行するため、トランザクションは暗黙的に終了します。 MySQL はすべての変更を保存し、ロールバックすることはできません。次の結果セットを使用してそれを観察できます。 -
mysql> Rollback; Query OK, 0 rows affected (0.00 sec) mysql> select * from marks; +------+---------+-----------+-------+ | Id | Name | Subject | Marks | +------+---------+-----------+-------+ | 1 | Aarav | Maths | 50 | | 1 | Harshit | Maths | 55 | | 3 | Gaurav | Comp | 69 | +------+---------+-----------+-------+ 3 rows in set (0.00 sec)
クライアント セッションを切断すると、現在のセッションが暗黙的に終了します。この場合、変更は元に戻されます。ロール。
クライアント セッションを終了すると、現在のセッションも暗黙的に終了します。この場合、変更もロールバックされます。
現時点では、START TRANSACTION コマンドを実行すると、トランザクションは暗黙的に終了します。この場合、変更はコミットされます。
mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO Marks Values(4, 'Rahul','History',40); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO Marks Values(5, 'Yashraj','English',48); Query OK, 1 row affected (0.00 sec) mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec)
この例では、START TRANSACTION ステートメントは暗黙的にトランザクションを終了し、変更をコミットします。
えええええ以上がユーザーはどのようにして現在の MySQL トランザクションを暗黙的に終了できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。