来自 MySQL 手册:
阅读未提交
SELECT 语句以非锁定方式执行,但可能会使用行的早期版本。因此,使用这个隔离级别,这样的读取是不一致的。这也称为脏读。否则,此隔离级别的工作方式类似于 READ COMMITTED。
粗体部分让我感到困惑。“可能会使用早期版本的行”?用在什么地方?这怎么能被称为“脏读”?
SQL 标准说脏读包含从未存在的数据:
P1(“脏读”):SQL 事务 T1 修改一行。SQL 事务 T2 然后在 T1 执行 COMMIT 之前读取该行。如果 T1 然后执行 ROLLBACK,则 T2 将读取从未提交的行,因此可能被认为从未存在过。
MySQL手册在这里是错的还是什么?