在SQLAnywhere中使用错误的JOIN更新

时间:2014-12-15 14:14:43

标签: join sql-update sybase sqlanywhere

我正在开发一个使用SQLAnywhere的项目,我找到了这个查询:

update MY_TABLE table1 
set table1.column1 = table3.id
from MY_TABLE table2, MY_OTHER_TABLE table3
where table2.some_col = table3.some_col and table2.other_col is null;

问题是,更新的table1和连接的table2 / table2没有任何链接,没有约束。表1完全独立于其他两个。

因此,据我所知,如果最后一行的条件满足至少一行,那么table1的所有行都将被更新,因为join-statement总是为真。

我是对的还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

简短回答:是的。我同意;)

答案很长:看起来表1和表2和表3之间没有任何联系。因此,根据您上面的输入,我预计会提到上述行为。

此外,我在这里删除隐式JOIN,因为它可能会导致混淆。