今天学习事务控制
默认方式启动事务:
开启一个事务,设置事务的隔离级别为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;