MySQL“错误代码1305:SAVEPOINT a不存在”

时间:2020-10-30 17:20:08

标签: mysql rollback

我刚刚开始学习MySQL,并且刚刚了解了保存点和回滚。

我这样做了

START TRANSACTION;

CREATE TABLE test (
    c1 int,
    c2 varchar(10)
);

INSERT INTO test VALUES ('1', 'LINHA1');

SAVEPOINT A;

INSERT INTO test VALUES ('2', 'LINHA2');

ROLLBACK TO SAVEPOINT A;

当我运行“回滚到保存点A”时,它说“ SAVEPOINT a不存在”。

1 个答案:

答案 0 :(得分:2)

在mysql中,DDL(例如CREATE TABLE)不能在事务内。您的CREATE TABLE正在结束您的事务,并且此后的每个语句都是自动提交的,因此在执行ROLLBACK时没有保存点A。