介绍
1savepoint 结点名; # 设置保存点,并和rollback结合使用,实现回滚到指定保存点 2 3rollback to 结点名; # 回滚到指定点
样例演示
1USE human; 2SET autocommit = 0; 3start transaction; 4INSERT man VALUES(NULL,'caster');#最终的表中含有 5savepoint x; 6#设置保存点 7INSERT man VALUES(NULL,'ruler'); 8#在执行完毕后,这条数据不存在,但是自增列的值因为这个语句的插入而发生改变,相当于先插入后删除 9SELECT * FROM man; 10#这个的表中有ruler 11ROLLBACK TO x; 12#回滚到设置好的保存点x 13SELECT * FROM man; 14#这个表中没有ruler,因为回滚后没有在执行保存点下面的插入语句,
第一个select的结果

第二个select的结果

现在为了证明回滚相当于先插入后删除的效果,执行下列语句
INSERT man VALUES(NULL,'ruler');
man表的类型

得表
