首页 > 数据库技术 > 详细

MySQL:不可重复读演示

时间:2021-07-15 12:00:46      阅读:23      评论:0      收藏:0      [点我收藏+]

不可重复读: 同一个事务中,进行查询操作,但是每次读取的数据内容是不一样的

1. 恢复数据 (把数据改回初始状态)

技术分享图片

 

 

2. 打开两个 窗口A 和 窗口B,选择数据库后 开启事务

use db2; 
start transaction;

技术分享图片

 

   

3. B 窗口开启事务后, 先进行一次数据查询

select * from account;

技术分享图片

 

 

4. 在 A 窗口开启事务后,将用户tom的账户 + 500 ,然后提交事务

-- 修改数据  
update account set money = money + 500 where name = tom; 
-- 提交事务
commit;

技术分享图片

 

 

5. B 窗口再次查询数据

技术分享图片

 

  •  两次查询输出的结果不同,到底哪次是对的?
  • 不知道以哪次为准。 很多人认为这种情况就对了,无须困惑, 当然是后面的为准。
    •   我们可以考虑这样一种情况:
      •   

        比如银行程序需要将查询结果分别输出到电脑屏幕和发短信给客 户,结果在一个事务 中针对不同的输出目的地进行的两次查询不一致,导致文件和屏幕中的结果不一致,银 行工作 人员就不知道以哪个为准了

MySQL:不可重复读演示

原文:https://www.cnblogs.com/JasperZhao/p/15013890.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!