我们如何在 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)
广告