以下更新查询是否始终保持表数据不变?
update mytable set column1 = column1
想知道是否会丢失更新?
最初column1
的值为oldValue
。有两个事务(t1和t2),t2从t1的中间开始。
t1: update mytable set column1 = 'newValue'
和
t2: update mytable set column1 = column1
由于t2交易比t1晚开始,所以也比t1晚完成。
问题:将为column1
分配什么价值?
答案 0 :(得分:1)
事务隔离级别是隔离不同事务的内容,如果使用read committed或更高的隔离级别,则不会有任何问题。
顺便说一下,据我所知,你的第一个查询永远不会更新Oracle中的任何记录,即使是“读取未提交”的隔离级别。