Mysql中的幻读和不可重复读的区别
发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,Mysql中的幻读和不可重复读的区别是什么?这个问题可能是我们日常学习或工作经常见到的。通过这个问题,希望你能了解幻读和不可重复读的区别。不可重复读:同样的条件下,读取过的数据,当我们再次读取时值发生
千家信息网最后更新 2024年09月21日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安全错误
数据库的锁怎样保障安全
网络安全自查题目
网络安全大赛英文名
201年度网络安全问题
软件开发总账
中药材显微图像数据库
软件开发项目免费增值服务
数据库中查询各专业的人数
南昌本地软件开发珠峰怎么样
服务器部署安全策略
网络安全方案的总结报告
数据库发展相关的论文
灵丘智能化网络安全答疑解惑
四川淘前花网络技术有限公司
通信网络技术讲座
如何导出vbaccess数据库
张健 南开大学网络安全
帮售乐网络技术有限公司
临猗网络安全
软件开发首期款挂哪个科目
浙江手机软件开发工具
软件开发的交付
求职意向软件开发
天津企航网络技术有限公司详情
股票分析 数据库
增删改查数据库语言
服务器辐射孕期
sql 数据库 撤销执行
网络技术网课答案
赛季轮回服有几个服务器
java数据库游标监控