我们如何在MySQL中使用嵌套事务?

我们可以借助SAVEPOINT在MySQL中处理嵌套事务。

首先,创建一个表。之后,开始事务。

现在,在上面创建的表中插入记录。使用SAVEPOINT语句设置一个带有标识符名称的命名事务保存点。

这是以查询形式显示的所有步骤-

建立表格

mysql> create table NestedTransactionDemo
   -> (
   -> Name varchar(200)
   -> );

开始事务-

mysql> START TRANSACTION;

现在,在表中插入一条记录

mysql> insert into NestedTransactionDemo values('John');

显示上面添加的记录-

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

让我们开始处理事务以创建嵌套事务-

mysql> savepoint transaction2;
mysql> insert into NestedTransactionDemo values('David');
mysql> select *from NestedTransactionDemo;
+-------+
| Name  |
+-------+
| John  |
| David |
+-------+
2 rows in set (0.00 sec)

mysql> rollback to transaction2;

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

mysql> rollback to transaction2;