MySQL 中是否允许嵌套事务?

2021-11-20 00:00:00 transactions mysql nested-transactions

MySQL 是否允许使用嵌套事务?

Does MySQL allow the use of nested transactions?

推荐答案

InnoDB 支持 SAVEPOINTS.

您可以执行以下操作:

CREATE TABLE t_test (id INT NOT NULL PRIMARY KEY) ENGINE=InnoDB;

START TRANSACTION;

INSERT
INTO    t_test
VALUES  (1);

SELECT  *
FROM    t_test;

 id
---
  1

SAVEPOINT tran2;

INSERT
INTO    t_test
VALUES  (2);

SELECT  *
FROM    t_test;

 id
---
  1
  2

ROLLBACK TO tran2;

SELECT  *
FROM    t_test;

 id
---
  1

ROLLBACK;

SELECT  *
FROM    t_test;

 id
---

相关文章