select*frommarks;+------+----------+----------- +-- -+|ID |名前 |件名 |マーク|+------+-----"/> select*frommarks;+------+----------+----------- +-- -+|ID |名前 |件名 |マーク|+------+-----">

ホームページ  >  記事  >  データベース  >  現在のトランザクションの途中で START TRANSACTION コマンドが実行された場合、現在の MySQL トランザクションはどうなりますか?

現在のトランザクションの途中で START TRANSACTION コマンドが実行された場合、現在の MySQL トランザクションはどうなりますか?

WBOY
WBOY転載
2023-09-03 10:41:021236ブラウズ

如果在当前事务的中间执行 START TRANSACTION 命令,当前 MySQL 事务会发生什么?

現在のトランザクションの途中で START TRANSACTION が実行された場合、現在のトランザクションはコミットされて終了します。現在のトランザクション中に行われたデータベースの変更はすべて永続的になります。これは、START TRANSACTION コマンドの暗黙的なコミットと呼ばれます。

テーブル "marks" に次の値があるとします。

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)

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 ステートメントが現在のトランザクションの途中で、暗黙的に現在のトランザクションを終了し、変更をコミットします。

えええええ

以上が現在のトランザクションの途中で START TRANSACTION コマンドが実行された場合、現在の MySQL トランザクションはどうなりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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