在插入/更新具有特定值的行时创建锁

uz75evzq  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(115)

在innodb中的mysql事务中,在 SELECT ... FOR UPDATE 查询 REPEATABLE READ 模式。
因此,如果事务t1运行查询 SELECT * FROMinventoryWHEREprice=45545 FOR UPDATE; 然后t2运行 UPDATEinventorySETcolor=3 WHEREprice=45545; ,由于间隙锁定,t2暂停直到t1完成。此行为很有用,因为t1保持一个不变量,即它对所有具有 price`=45545` . 但是,当没有行时,情况似乎并非如此price=45545 首先。在这种情况下,不创建间隙锁,t2成功运行,打破了不变量。
有没有办法强迫mysql在没有行匹配的情况下使用间隙锁?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题