怎么理解数据库中的不可重复读和幻读

怎么理解数据库中的不可重复读和幻读,总是记不住。从网上找的 都太抽象了,有没有谁能简单解释下,最近在复习知识点,看看各位都是怎么理解的。谢谢各位了。

https://m.php.cn/article/474519.html

img

我的理解 不可重复读针对的 A读——B读
幻读 针对的是 A读——B写

不可重复读(Non-repeatable Reads):一个事务对同一行数据重复读取两次,但是却得到了不同的结果。
幻读(Phantom Reads):事务在操作过程中进行两次查询,第二次查询的结果包含了第一次查询中未出现的数据或者缺少了第一次查询中出现的数据(这里并不要求两次查询的SQL语句相同)。这是因为在两次查询过程中有另外一个事务插入数据造成的。
不理解的话看下面这个
不可重复读:一个事务读到了另一个事务已经提交的 update 数据,导致多次查询结果不一致
幻读:一个事务读到了另一个事务已经提交的 inser t数据,导致多次查询的结果不一样

望采纳