MySQL 如何在MySQL中使用允许嵌套事务?

MySQL 如何在MySQL中使用允许嵌套事务?

我们可以借助START命令和SAVEPOINT,允许多个事务。让我们使用CREATE命令创建一个表。

阅读更多:MySQL 教程

创建表

mysql> CREATE table transactionDemo
-> (
-> id int auto_increment,
-> primary key(id)
-> );
Query OK, 0 rows affected (0.76 sec)

然后,我将使用START命令开始一个事务。

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

之后,我将使用INSERT命令插入以下记录。

mysql> INSERT into transactionDemo values();
Query OK, 1 row affected (0.04 sec)

我们可以使用SELECT语句来显示记录,如下所示。

mysql> SELECT *from transactionDemo;

以下是输出结果。

+----+
| id |
+----+
| 1  |
+----+
1 row in set (0.00 sec)

之后,我使用SAVEPOINT保存此查询。

mysql> SAVEPOINT t2;

插入记录

mysql> INSERT into transactionDemo values();
Query OK, 1 row affected (0.00 sec)

使用SELECT命令显示所有记录。

mysql> SELECT *from transactionDemo;

以下是输出结果。

+----+
| id |
+----+
| 1  |
| 2  |
+----+
2 rows in set (0.00 sec)

现在,我们可以回滚第一个事务。

mysql> ROLLBACK TO t2;
Query OK, 0 rows affected (0.03 sec)

现在,我们可以显示之前保存的事务。

mysql> SELECT * from transactionDemo;

以下是输出结果。

+----+
| id |
+----+
| 1  |
+----+
1 row in set (0.00 sec)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程