Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เกิดอะไรขึ้นถ้า MySQL Session จบลงระหว่าง Transaction


ถ้า Session จบระหว่าง Transaction (เช่นพิมพ์ quit) MySQL จะ Rollback Implicit ลบการเปลี่ยนแปลงทั้งหมดใน Transaction นั้น

ตัวอย่าง

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

หลังออกและเข้าใหม่ ค่า Name ของ id=5 ยังคงเป็น Yashraj (Rollback แล้ว)