间隙锁是在rr级别下,开启事务后然后当前读的时候产生: 所以除了for update 还有 1、SELECT LOCK IN SHARE MODE 2、DELETE\UPDATE\INSERT INTO\REPLACE INTO 都可以产生间隙锁 当然前提是给索引加锁不然就会变成表锁