一、大致操作流程
1.先创建一个表
create table swcz (
id int,
`name` varchar(32)
);
2.开始事务
start transaction;
3.设置保存点a
savepoint a;
4.执行dml操作
insert into swcz values(100,'jack');
select * from swcz;
查询结果:
5.设置保存点b
savepoint b;
6.执行dml操作
insert into swcz values(200,'tom');
select * from swcz;
查询结果:
7.回退到事务b
rollback to b;
8.再次查询表
select * from swcz;
可以发现事务退回到b(刚创建b时只有一条数据 100,'jack')
9.回退到事务a
rollback to a;
10.再次查询表
select * from swcz;
发现回到事务退回到a(即刚建立起表)
二、相关操作
-- 直接回到事务开始的状态
rollback
-- 提交、结束事务,所有的操作生效,即保存、提交目前的事务,不能退回
commit