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

ホームページ  >  記事  >  データベース  >  セッションがトランザクションの途中で終了した場合、現在の MySQL トランザクションはどうなりますか?

セッションがトランザクションの途中で終了した場合、現在の MySQL トランザクションはどうなりますか?

王林
王林転載
2023-08-25 09:53:041368ブラウズ

如果会话在事务中途结束,当前 MySQL 事务会发生什么情况?

#セッションがトランザクションで終了した場合、現在の MySQL トランザクションは MySQL によってロールバックされ、終了すると仮定します。これは、現在のトランザクションで行われたデータベースの変更がすべて削除されることを意味します。セッションの終了は暗黙的なロールバックと呼ばれます。

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

mysql> Select * from marks;
+------+---------+-----------+-------+
| Id   | Name    | Subject   | Marks |
+------+---------+-----------+-------+
| 1    | Aarav   | Maths     | 50    |
| 1    | Harshit | Maths     | 55    |
| 3    | Gaurav  | Comp      | 69    |
| 4    | Rahul   | History   | 40    |
| 5    | Yashraj | English   | 48    |
| 6    | Manak   | History   | 70    |
+------+---------+-----------+-------+
6 rows in set (0.00 sec)

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

mysql> UPDATE marks SET Name = ‘Yash’ Where id = 5;
Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> quit;
Bye

上記の例では、テーブル内の値を更新した後、end quit ステートメントを実行してセッションを終了します。セッションを再度開始した後にテーブルを見ると、セッションがトランザクションで終了したため、更新された値が MySQL によってロールバックされています。

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

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