我知道
A non-repeatable read occurs, when during the course of a transaction, a row is
retrieved twice and the values within the row differ between reads.
和
A phantom read occurs when, in the course of a transaction, two identical queries are executed, and the collection of rows returned by the second query is different from the first.
我认为发生这种情况是因为在两种情况下我们都在事务A中而事务B只是提交了一些更改。
所以我的问题是......是否存在来自两者或者1的另一个用例,原因可能是除了事务B之外的其他用例只是在我们处于事务A时提交了一些更改?所以基本上这些是同一问题的2个不同后果,对吗?
答案 0 :(得分:3)
不可重复读取中的差异始终是UPDATE语句的结果,而在幻读读取的情况下,它也可能是INSERT或DELETE的结果。 此外,可以通过锁定行来防止第一种情况,而不是第二种情况。