首页 > 文章列表 > mysql间隙锁怎么用

mysql间隙锁怎么用

mysql
238 2023-05-03

区间锁,只锁一个索引区间(开区间,不包括双端端点)

1、在索引记录之间的间隙中加锁,或在索引记录之前或之后加锁,不包括索引记录本身。

2、间隙锁可用于防止幻读,以确保索引之间不会插入数据。

实例

session 1:
start  transaction ;
select  * from news where number=4 for update ;
 
session 2:
start  transaction ;
insert into news value(2,4);#(阻塞)
insert into news value(2,2);#(阻塞)
insert into news value(4,4);#(阻塞)
insert into news value(4,5);#(阻塞)
insert into news value(7,5);#(执行成功)
insert into news value(9,5);#(执行成功)
insert into news value(11,5);#(执行成功)