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

Làm thế nào chúng ta có thể sử dụng các giao dịch lồng nhau trong MySQL?

Chúng tôi có thể làm việc với các giao dịch lồng nhau trong MySQL với sự trợ giúp của SAVEPOINT.

Đầu tiên, tạo một bảng. Sau đó, bắt đầu giao dịch.

Bây giờ, hãy chèn các bản ghi trong bảng đã tạo ở trên. Sử dụng câu lệnh SAVEPOINT để đặt điểm lưu giao dịch đã đặt tên với tên định danh.

Đây là tất cả các bước được hiển thị dưới dạng truy vấn -

Tạo bảng

mysql> create table NestedTransactionDemo
   -> (
   -> Name varchar(200)
   -> );
Query OK, 0 rows affected (0.63 sec)

Bắt đầu giao dịch -

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

Bây giờ, hãy chèn một bản ghi vào bảng

mysql> insert into NestedTransactionDemo values('John');
Query OK, 1 row affected (0.04 sec)

Hiển thị bản ghi đã thêm ở trên -

mysql> select *from NestedTransactionDemo;
+------+
| Name |
+------+
| John |
+------+
1 row in set (0.00 sec)

Hãy để chúng tôi bắt đầu làm việc với các giao dịch để tạo các giao dịch lồng nhau -

mysql> savepoint transaction2;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into NestedTransactionDemo values('David');
Query OK, 1 row affected (0.00 sec)
mysql> select *from NestedTransactionDemo;
+-------+
| Name  |
+-------+
| John  |
| David |
+-------+
2 rows in set (0.00 sec)

mysql> rollback to transaction2;
Query OK, 0 rows affected (0.00 sec)

mysql> select *from NestedTransactionDemo;
+------+
| Name |
+------+
| John |
+------+
1 row in set (0.00 sec)

mysql> rollback to transaction2;
Query OK, 0 rows affected (0.00 sec)