幻读和不可重复读有什么区别
技术百科
王林
发布时间:2020-06-05
浏览: 次 区别:
不可重复读:同样的条件下,读取过的数据,当我们再次读取时值发生了变化。
幻读:同样的条件下,第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教程
# 自己的
# 这就
# 也为
# 当我们
# 两次
# 发生了
# mysql
# 产生了
# false
# 财务人员
# 交了
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- windows如何备份注册表_windows导出和
- Win11如何设置环境变量 Win11添加和修改系
- Python数据挖掘进阶教程_分类回归与聚类案例解
- VSC怎么快速定位PHP错误行_错误追踪设置法【方
- Win10如何更改网络连接_Windows10以太
- 如何使用Golang配置安全开发环境_防止敏感信息
- Win10怎样清理C盘浏览器缓存_Win10清理浏
- Win11怎么更改盘符_Win11磁盘管理修改驱动
- Win11怎么查看激活状态_查询Windows 1
- Win11怎样彻底卸载自带应用_Win11彻底卸载
- 如何在Golang中实现基础配置管理功能_Gola
- c++输入输出流 c++ cin与cout格式化输
- Win11怎么关闭应用权限_Windows11相机
- Win11怎么设置桌面图标间距_Windows11
- php订单日志怎么记录发货_php记录订单发货操作
- 如何使用正则表达式提取以编号开头、后接多个注解的逻
- c++中的Tag Dispatching是什么_c
- c++ namespace命名空间用法_c++避免
- PHP主流架构怎么集成Redis缓存_配置步骤【方
- Flask 表单数据通过 SMTP 发送邮件的完整
- php485返回数据不完整怎么办_php485数据
- php条件判断怎么写_ifelse和switchc
- C++如何解析JSON数据?(nlohmann/j
- 如何在Golang中处理模块冲突_解决依赖版本不兼
- c++如何打印函数堆栈信息_c++ backtra
- Win11怎么查看显卡显存_查询Win11显卡详细
- Windows10如何更改鼠标灵敏度_Win10鼠
- Windows任务计划服务异常原因_任务调度失败的
- Python解释执行模型_字节码流程说明【指导】
- Windows10系统怎么查看运行时间_Win10
- 如何在 Go 中判断变量是否为函数类型
- Windows10蓝屏SYSTEM_SERVICE
- 如何高效识别并拦截拼接式恶意域名 spam
- 如何在Golang中处理URL参数_Golang
- 如何从 Go 的 map[string]inter
- Python性能剖析高级教程_cProfileLi
- 微信里的php文件怎么变mp4_微信接收php转m
- Win11怎么关闭贴靠布局_Win11禁用窗口最大
- Win10如何更改开机密码_Windows10登录
- 为什么本地php环境运行php脚本卡顿_php执行
- Win11怎么开启游戏模式_Win11优化游戏帧数
- C++中的协变与逆变是什么?C++函数指针与返回类
- php订单日志怎么记录物流_php记录订单物流变更
- c++如何连接Redis c++ hiredis库
- 如何在 Django 中安全修改用户密码而不使会话
- Win10系统更新错误0x80240034怎么办
- 如何使用Golang安装API文档生成工具_快速生
- Win10如何备份注册表_Win10注册表备份步骤
- 静态属性修改会影响所有实例吗_php作用域操作符下
- php订单日志怎么在swoole写_php协程sw

QQ客服