标签:字段 mysq 行记录 upd key 需要 一个人 否则 table
防止幻读
隔离级别有关,只在REPEATABLE READ或以上的隔离级别下的特定操作才会取得gap lock或nextkey lock。
UPDATE和DELETE时,除了对唯一索引的唯一搜索外都会获取gap锁或next-key锁。即锁住其扫描的范围。
简单来说,影响到的字段不是唯一的,会变为区间锁
如果是唯一的,会取得 行锁
select * from t where id = 1 for update;
只锁定一行记录
select * from t where id >5 for update;
锁定 (5,n] 的数据行
select * from t where field_a = 100 for update;
如果此字段没有索引,会变为表锁,因为需要一条一条遍历,否则只锁满足只字段的数据
标签:字段 mysq 行记录 upd key 需要 一个人 否则 table
原文地址:https://www.cnblogs.com/lisq/p/12634475.html