Mysql中的幻读和不可重复读的区别
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,Mysql中的幻读和不可重复读的区别是什么?这个问题可能是我们日常学习或工作经常见到的。通过这个问题,希望你能了解幻读和不可重复读的区别。不可重复读:同样的条件下,读取过的数据,当我们再次读取时值发生
千家信息网最后更新 2025年11月10日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安全错误
数据库的锁怎样保障安全
cnki 万方维普数据库比较
冬季运动项目数据库
车辆计数软件开发
吃鸡如何才能登录到服务器
何国彪网络安全
浙江软件开发服务郑重承诺
河北聚冀网络技术有限公司
NCRE网络技术报名费
国家那个部门负责网络安全
泰康人寿软件开发待遇
搭建ssl中转服务器
关于网络安全的知识和方法
戴尔服务器电源报警指示灯
T6重建年度数据库
初学java数据库
数据库流行度榜单
西藏做网络安全工程师
软件开发安全发展
宁河软件开发哪里实惠
sql语言进入数据库
正方数据库路径
医疗软件开发需要跟项目吗
服务器socket端口
计算机三级网络技术25分钟
网络安全发展及现状PPT
sdk软件开发工具包简介
网络安全信息十四五规划
购买人力资源管理服务器
2020年网络安全事件处理
网络技术的原理与应用