见图,主要是select xx for update,又或者是update语句更新了,使用了当前读。所以后面再次select(13行)出现幻读,如果只是select的话(10行不是update,是个select),是不会出现幻读的情况,因为符合mvcc规则,用的还是一开始的快照。
todo:看下10行是update的情况下的内容:SELECT * FROM information_schema
.INNODB_TRX
如果10行,update的id为1,则不会出现幻读的情况,这里因为update的时候把session2里的更新到了
网友评论