我正在尝试将 newtable 上的存储 id 与 maintable 中的 id 同步:
UPDATE newtable t SET t.store_id = (SELECT store_id FROM maintable s
WHERE t.state = s.state AND s.city = t.city AND t.name = s.name)
每当子查询返回多于一行时,它就会出错,并显示“子查询返回多于 1 行”,但是当它返回零行时,子查询被认为没有返回任何内容,因此 newtable 上的 store_id 保持为 NULL。这里没有什么新东西,它就是它的工作原理。
我想知道是否可以让子查询输出与当它有多个匹配行时没有匹配时的输出相同。
这样,我将仅针对主表上的一个匹配行同步 store_id,并在子查询中出现多个匹配行时跳过。