Computer >> Máy Tính >  >> Lập trình >> MySQL

Câu lệnh nào, ngoài BẮT ĐẦU GIAO DỊCH, được sử dụng để bắt đầu một giao dịch?


Chúng tôi cũng có thể sử dụng BEGIN tuyên bố để bắt đầu một giao dịch mới. Nó giống như BẮT ĐẦU GIAO DỊCH tuyên bố.

Ví dụ

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

mysql> INSERT INTO Marks Values(1, 'Aarav','History',40);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO Marks Values(2, 'Harshit','History',48);
Query OK, 1 row affected (0.00 sec)

mysql> ROLLBACK;
Query OK, 0 rows affected (0.04 sec)

Trong ví dụ này, giao dịch được bắt đầu bằng Câu lệnh BEGIN chứ không phải câu lệnh BẮT ĐẦU GIAO DỊCH. Hai câu lệnh INSERT sau đó được thực thi theo sau là một câu lệnh ROLLBACK. Câu lệnh ROLLBACK sẽ hoàn tác các thay đổi được thực hiện đối với cơ sở dữ liệu có thể được quan sát thấy từ tập kết quả sau cho thấy rằng không có giá trị mới nào được chèn vào bảng -

mysql> SELECT * FROM Marks;
+------+---------+---------+-------+
| Id   | Name    | Subject | Marks |
+------+---------+---------+-------+
|    1 | Aarav   | Maths   |    50 |
|    2 | Harshit | Maths   |    55 |
+------+---------+---------+-------+
2 rows in set (0.00 sec)