MySQL "Error Code 1305: SAVEPOINT a does not exist"
MySQL "Error Code 1305: SAVEPOINT a does not exist"
我刚开始学习 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”时,它说“保存点a不存在”。
在mysql中,DDL(如CREATE TABLE)不能在事务内。您的 CREATE TABLE 正在结束您的事务,此后的每个语句都是 auto-committed,因此在您执行 ROLLBACK 时没有保存点 A。
我刚开始学习 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”时,它说“保存点a不存在”。
在mysql中,DDL(如CREATE TABLE)不能在事务内。您的 CREATE TABLE 正在结束您的事务,此后的每个语句都是 auto-committed,因此在您执行 ROLLBACK 时没有保存点 A。