Mysql中的幻读和不可重复读的区别
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Mysql中的幻读和不可重复读的区别是什么?这个问题可能是我们日常学习或工作经常见到的。通过这个问题,希望你能了解幻读和不可重复读的区别。不可重复读:同样的条件下,读取过的数据,当我们再次读取时值发生
千家信息网最后更新 2026年11月01日Mysql中的幻读和不可重复读的区别
Mysql中的幻读和不可重复读的区别是什么?这个问题可能是我们日常学习或工作经常见到的。通过这个问题,希望你能了解幻读和不可重复读的区别。
不可重复读:同样的条件下,读取过的数据,当我们再次读取时值发生了变化。
幻读:同样的条件下,第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中的幻读和不可重复读的区别有进一步的了解吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道。
事务
工资
再次
员工
条件
例子
内容
数据
更多
问题
变化
相同
人员
技能
结果
行业
财务
资讯
资讯频道
频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州淘业互联网络科技
科技互联网产品
中国互联网科技发展
互联网与未来科技
广州宏创互联网科技
互联网金融科技平台
金融科技和互联网金融
互联网科技产品
常德市电业局互联网科技部
和信科技工业互联网
注册互联网科技公司经营范围大全
互联网媒体平台算高科技产业
中国互联网有什么科技
深圳无忧互联网科技
东营紫格互联网科技
易企秀互联网科技是做什么的
中国新注册互联网科技
广西科技产业互联网是什么
互联网科技职业技能培训学校
10位科技互联网大佬
互联网科技公司税收优惠
亿账通互联网科技
佰商互联网科技有限公司
镁科技互联网资讯平台
广州优美互联网科技
昭通云南众福互联网科技有限公司
苏州五指互联网络科技有限
深圳市罗太互联网科技有限公司
沐思想互联网科技有限公司
广州全民伙伴互联网科技有限公司