Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách kết thúc giao dịch MySQL tường minh (explicitly)


Người dùng chủ động kết thúc giao dịch bằng 2 câu lệnh:

1. COMMIT - Lưu thay đổi

mysql> START TRANSACTION;
mysql> INSERT INTO Marks Values(1, 'Aarav','Maths',50);
mysql> INSERT INTO Marks Values(2, 'Harshit','Maths',55);
mysql> COMMIT;

mysql> SELECT * FROM Marks;
+------+---------+---------+-------+
| Id   | Name    | Subject | Marks |
+------+---------+---------+-------+
|    1 | Aarav   | Maths   |    50 |
|    2 | Harshit | Maths   |    55 |
+------+---------+---------+-------+

COMMIT kết thúc giao dịch và lưu vĩnh viễn.

2. ROLLBACK - Hoàn tác thay đổi

mysql> SELECT * FROM Marks; -- Chỉ có Aarav, Harshit
mysql> START TRANSACTION;
mysql> INSERT INTO Marks Values(3, 'Rahul','History',40);
mysql> INSERT INTO Marks Values(4, 'Yashraj','English',48);
mysql> ROLLBACK;

mysql> SELECT * FROM Marks; -- Vẫn chỉ có Aarav, Harshit
+------+---------+---------+-------+
| Id   | Name    | Subject | Marks |
+------+---------+---------+-------+
|    1 | Aarav   | Maths   |    50 |
|    2 | Harshit | Maths   |    55 |
+------+---------+---------+-------+

ROLLBACK kết thúc giao dịch và xóa mọi thay đổi trong giao dịch đó.