同一个事务下读锁和写锁可以共存吗老师(补充)

来源:1-2 面试准备

Panda_io

2021-05-23

老师我上一个问题表达不充分,我重新写下

Start TRANSACTION; // 首先开启事务 单行执行
SELECT * FROM account_innodb lock in share mode; // 加上读锁 单行执行
update account_innodb set balance = 1000 // 数据已经被加上了读锁,但是这里能加写锁成功 单行执行

问题:理论上读锁和写锁是不可以共存的,同一个session下(我没有执行commit也就是没提交事务,所以加读锁和写锁都在同一个事务里)我居然可以对数据先加读锁再加写锁,就很疑惑,请老师解答一下。

写回答

1回答

翔仔

2021-05-24

同学好,我前面的问题看太快理解错了,当前事务加共享读锁的话,其它事务只能再加共享锁,本事务是可以用写锁的。

0
0

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程