共享锁(lock in share mode)
简介
允许不同事务之前共享加锁读取,但不允许其它事务修改或者加入排他锁
如果有修改必须等待一个事务提交完成,才可以执行,容易出现死锁
共享锁事务之间的读取
session1:
start transaction;
select * from test where id = 1 lock in share mode;
结果:
session2:
start transaction;
select * from test where id = 1 lock in share mode;
结果:
<!--more-->
此时session1和session2都可以正常获取结果,那么再加入session3 排他锁读取尝试
session3: