为什么我使用出现卡死

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学,你好。

1、卡死是因为有事务没有提交,commit后就可以了

2、在执行提交后,已经修改了数据库中的数据,因此在执行查询语句时是修改之后的数据

如果我的回答解决了你的疑惑,请采纳!祝学习愉快~~~~

  • 慕python_SD三德 提问者 #1
    写不写set session transaction isolation level serializable有区别吗
    2020-09-26 15:14:35
  • 时间, 回复 提问者 慕python_SD三德 #2
    同学,你好。在Serializable隔离级别下,所有事务按照次序依次执行,因此,脏读、不可重复读、幻读都不会出现。事务会一个挨一个执行,等待前一个事务执行完,后面的事务才可以顺序执行。祝学习愉快~~~~
    2020-09-26 16:06:35
提问者 慕python_SD三德 2020-09-26 14:08:20

这问题自行解决了,是因为我有事务未进行提交


但是,为什么我先运行(查询1)

set session transaction isolation level serializable;

start transaction;

select * from t_emp;

commit;

然后(查询2)

start transaction;

update t_emp set sal=3500 where sal>3000;

接着(查询1)

select * from t_emp;

最后(查询2)

commit;

但是结果

http://img1.sycdn.imooc.com//climg/5f6edaad098766f719201080.jpgking的sal还是收到了影响,所以serializable有什么用呢

提问者 慕python_SD三德 2020-09-26 14:07:04

这问题自行解决了,是因为我有事务未进行提交


但是,为什么我先运行(查询1)

set session transaction isolation level serializable;

start transaction;

select * from t_emp;

commit;

然后(查询2)

start transaction;

update t_emp set sal=3500 where sal>3000;

接着(查询1)

select * from t_emp;

最后(查询2)

commit;

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师