MySQL 如何在MySQL中使用嵌套事务?
我们可以使用SAVEPOINT来在MySQL中使用嵌套事务。
首先,创建一个表。然后开始事务。
现在,向上面创建的表中插入记录。使用SAVEPOINT语句设置一个带名字标识符的命名事务保存点。
以下是所有步骤的查询形式−
创建表
mysql> create table NestedTransactionDemo
-> (
-> Name varchar(200)
-> );
Query OK, 0 rows affected (0.63 sec)
开始事务−
mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)
现在,在表中插入一条记录
mysql> insert into NestedTransactionDemo values('John');
Query OK, 1 row affected (0.04 sec)
显示上面添加的记录−
mysql> select *from NestedTransactionDemo;
+------+
| Name |
+------+
| John |
+------+
1 row in set (0.00 sec)
让我们开始操作事务来创建嵌套事务−
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)
阅读更多:MySQL 教程