百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> 幻读和不成反复读有什么区别
分享文章到:

幻读和不成反复读有什么区别

发布时间:09/01 来源:未知 浏览: 关键词:

不同:

不成反复读:一样的前提下,读取过的数据,当我们再次读取时值发生了转变。

幻读:一样的前提下,第1次和第2次读出来的记载数不一样。

详细剖析:

1、不成反复读

一样的前提下,读取过的数据,当我们再次读取时值发生了转变。

例子:

在事务1中,A读取了本人的薪水为1000,但是此时事务1的操纵还并没有完成 ,后面还有1次雷同的读取操纵。

con1 = getConnection();
select salary from employee where employeeName ="A";

在事务2中,这时财务人员修改了A的薪水为2000,并提交了事务。

con2 = getConnection();    
update employee set salary = 2000 where employeeName = "A";    
con2.commit();

在事务1中,A再次读取本人的薪水时,薪水变为了2000 。

select salary from employee where employeeName ="A";

在一个事务中前后两次读取的结果并不致,致使了不成反复读。

2、幻读

一样的前提下,第1次和第2次读出来的记载数不一样。

例子:

当前薪水为1000的员工有5人。

事务1,读取所有薪水为1000的员工,共读取10笔记录 。

con1 = getConnection();    
Select * from employee where salary =1000;

这时另一个事务向employee表插入了一条员工记载,薪水也为1000

con2 = getConnection();    
Insert into employee(employeeName,salary) values("B",1000);    
con2.commit();

事务1再次读取所有薪水为1000的员工,共读取到了6笔记录,这就发生了幻读。

//con1    
select * from employee where salary =1000;

引荐教程:mysql教程

以上就是幻读和不成反复读有什么不同的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有154人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板