for update加锁范围
来源:2-4 事务原则与实现:JDBC事务(下)

tanyoung
2019-08-18
老师您好,请问for update不锁全表的条件就是有条件查询,而且条件必须走主键索引或者唯一索引吧,普通索引或者联合索引啥的不行么
写回答
1回答
-
大漠风
2019-08-19
根据文档,只是说只要有“index”就会锁记录,而不是全表。
但是,之前遇到过一个问题,我用“for update”锁了一条记录,但是,之后的一个更新被block了,那是一个类似这样的:“update user where id < 10010”。我锁的记录的id是大于10010的,更新的用户的范围肯定没有之前锁的用户。所以,在锁了一条记录以后,后续的范围查询的更新也会被锁住。
但是,我现在也没有进行测试,需要测试确认一下。
00
相似问题