mysql的innob引擎使用一致性视图(版本控制)来保证事务之间的隔离性,但是在业务中会有这样的清秀,一个字段值为3,在两个同时开启的事务中分别使用update语句进行-1,两个事务分别提交后,该字段的值不是2,而是1;有人会疑惑innob为了隔离性分别为每个事务创建了一个数据库版本(一致性视图),在版本中字段的值都为3,分别-1之后的值,为什么不为2呀?因为,在mysql中存在【当前读】,在update执行中,会先读当前版本的值,然后进行值的更新,其中使用当前读的DDL操作:select+锁、update、insert、delete