想象一下,我有两个表,t1和t2。t1有两个字段,一个包含称为a的唯一值,另一个包含称为value的字段。表t2有一个不包含唯一值的字段b和一个字段也称为value。现在,如果我使用以下更新查询(这是使用 MS Access 顺便说一句):
UPDATE t1
INNER JOIN t2 ON t1.a=t2.b
SET t1.value=t2.value
如果我有以下数据
t1 t2
a | value b | value
------------ ------------
'm' | 0.0 'm'| 1.1
'm'| 0.2
并运行查询 t1.value 中的最终值是什么?我进行了一些测试,但找不到一致的行为,所以我猜它可能只是未定义。或者这种更新查询是不应该做的事情?关于为什么我必须这样做,有一个很长很无聊的故事,但这与我调查的技术性质无关。