mysql-脏读、幻读、不可重复读
2022-04-21 17:03:57 0 举报
mysql-脏读、幻读、不可重复读解析
作者其他创作
大纲/内容
name
rollback;
3
1
wjy
脏读、不可重复读
30
读到了4个数据
幻读
begin;
2
id
age
22
13
18
最终拿到的数据是age是22,显然是有问题的
在事物2未完成时,又读取了一次数据
用户操作:事物1
事物1读到的条数是3个
update table set age = 22 where id =1
select * from table where id =1
事物1进行时,事物2插入了一条数据,当前数据只对事物2可见
ls
在事物1进行时,事物2将age修改成了22
4
commit;
zs
回滚,age会恢复成18
将age修改成22
insert into table(xxx) value (xxx)
触发快照读,读取历史版本
xx
用户操作:事物2
update xxx from table where age > 1
select * from table
触发当前读,读取最新数据
此时事物1做了一下更新,发现更新了4条数据,难道出现幻觉了?
事物2提交,对于事物2来说,此时有4条数据
在事物2回滚之前又读了一次,此时读到age是22
读取到的age是18
收藏
0 条评论
回复 删除
下一页