mysql共享锁问题

为什么加了共享锁还能修改数据,跟共享锁的定义不符合啊

begin;

select size from app where id = 1 lock in share mode; # 获取共享锁,锁住行

update app set size = size + 1 where id = 1;#为啥能成功?

commit;

百度百科如下:
image.png
请大佬解释解释,谢谢

回答:

同一个事物内,你自己的S锁,为什么不能写数据呢?

回答:

其他事务没有持有这一行的S锁或X锁,这个持有了S锁的事务是可以对这一行加X锁的,update操作就是先加了X锁再更新

image.png

回答:

首先你要知道的是:锁解决的是并发问题,而你这里根本没有并发。

以上是 mysql共享锁问题 的全部内容, 来源链接: www.h5w3.com/172233.html

回到顶部