“UPDATE”语句会导致“幻读”吗?

问题描述

简介:

我一直在研究交易之间可能发生的干扰类型。

我无法理解“幻读”和“不可重复读”之间的区别。

在这post 中,我看到了一条评论,他们说:

不可重复读取是指您提交的事务读取更新 来自另一笔交易。同一行现在具有不同的值 它在您的交易开始时发生。

幻读类似,但从提交的INSERTS读取时 和/或从另一笔交易中删除。有新行或行 自从您开始交易后就消失了。

我的问题:

  1. 情况:

T1: UPDATE table1 SET column1 = 5 WHERE user = 2;

T2.1: SELECT * FROM table1 WHERE column1 > 3; SELECT * FROM table1 WHERE column1 > 3;

  1. 问题:

    • 即使是“更新”,T1 也不会在 T2 上导致“幻读” 陈述?我在 T2 中的第一个“SELECT”不会考虑行 user = 2 如果“column1”在“UPDATE”之前小于 3。但我的 T2 中的第二个“SELECT”会这样做。这不是“幻读”吗? 不是由“插入”或“删除”引起的?
    • 这是“幻读”/“不可重复读”/“两者”吗?
    • 我该如何理解?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...