MySQL:为什么唯一性检查需要上S锁

58 阅读1分钟

stackoverflow.com/questions/6…

简单记录。以前也没有细想,只知道会加S锁,今天一个朋友问到,并且找到了上面的文章。 总的说来还是为了保证,冲突的行在整个事务 持续期间不会更改。如果补上S锁,被其他事务更改, 那么一个事务中可能本次执行报错了,但是下次插入居然不报错插入进去了。DML操作没有read view,不能使用UNDO。