Session Bz执行select for update同样也会加上间隙锁,间隙锁之间并不冲突,因此可以执行成功 Session B尝试插入(9,9,9),被Session A的间隙锁阻塞,只好进入等待 Session A尝试插入(9,9,9),被Session B的间隙锁阻塞此时两个Session形成死锁等待,InnoDB的死锁检测发现死锁关系,让Session A的insert 语句报错返回 。
间隙锁是在可重复读隔离级别下才会生效,如果将隔离级别设置为读提交,就不会有间隙锁了,但是同时需要解决数据和日志不一致的问题(需要把binlog格式设置为ROW) 。
推荐阅读
-
-
-
-
AI搞机3 挖孔前摄+120Hz,价格或再创新高,三星新一代折叠屏旗舰曝光
-
给你1亿元,1分也不能花,1年后收回,怎样实现利益最大化
-
-
-
-
美食每客|加盟瑞可甜心蛋糕店,用砂糖与黄油织就财富梦想
-
李亚鹏曝光第二春,王菲出面阻拦,新女友霸气怒怼:你算老几
-
好吃|快冬至了,吃饺子别总是猪肉馅,这肉馅价格贵,但吃一次念念不忘
-
网飞|为防喷子伤害Vtuber们彩虹社幕后公司成立对策小组!
-
时小慢|弄清领导背后涵义再回答,领导问忙不忙该咋办?老油条都懂
-
-
-
豪斯20分,哈登三分成功杀进,而考文顿命中了一个绝命三分,关键时刻还是威少
-
鹏举说历史 被美军关押2年之久,回国后过得如何?,志愿军被俘女兵杨玉华
-
冰魂军事国际观察|对岸称被美军骗惨,不再隐藏坚决亮剑!新一代隐轰首次飞抵海峡
-
王者荣耀|拆塔小能手李元芳该怎么玩?利用好优势中期一波上高地
-