今天学习事务控制
默认方式启动事务:

开启一个事务,设置事务的隔离级别为READ COMMITTED,访问模式为READ ONLY

以隔离级别为repeatable read,读/写方式启动事务

没有建成功:

savepoint测试:


这个好奇怪。因为前面有个insert语句打错了,结果连后面的insert都无法执行?
重来一遍:

开始做作业:
1.以默认方式启动事务1,修改事务隔离级别,查看transaction_isolation
start transaction;

show transaction_isolation;

现在隔离级别为 读提交。
修改成别的:可重复读。
START TRANSACTION ISOLATION LEVEL repeatable read READ WRITE;

2.以读写方式启动事务2,创建新表,修改事务为只读事务,查看transaction_read_only,并向表中插入记录
create table table2(a int);

SET LOCAL TRANSACTION ISOLATION LEVEL READ COMMITTED READ ONLY;

show transaction_read_only;

insert into table2 value(9);

rollback;

3.启动事务3,对表进行增删改查,并用到创建savepoint,回滚savepoint和删除savepoint
create table table2(id int);
begin transaction;
insert into table2 values(1);
insert into table2 values(2);
savepoint my_poi;
select * from table2;
insert into table2 values(3);
insert into table2 values(4);
delete from table2 where id=2;
select * from table2;
savepoint my_poi2;
select * from table2;
rollback to savepoint my_poi2;
select * from table2;
insert into table2 values(5);
select * from table2;
rollback to savepoint my_poi2;
select * from table2;
release savepoint my_poi2;
rollback to savepoint my_poi;
select * from table2;
release savepoint my_poi;


4.清理数据
drop table table2;
commit;





