我有相同的数据库,一个较新,一个较旧。
我需要将较新的数据库中的任何新行复制到较旧的数据库中。
每一行都有entry_id
所以我正在寻找一种在复制该行之前检查它是否存在的方法。
我在想,WHERE NO EXISTS
可能是我需要的,但是当从另一个数据库复制时我无法弄清楚如何做到这一点。
INSERT INTO lightand_expressionengine.exp_channel_data
FROM lightand_expressionengineold.exp_channel_data
WHERE NOT EXISTS ()
有什么想法吗?
答案 0 :(得分:2)
这样的事情:
INSERT INTO lightand_expressionengine.exp_channel_data(col1, . . . coln)
select col1, . . . coln
FROM lightand_expressionengineold.exp_channel_data o
WHERE NOT EXISTS (select 1
from lightand_expressionengine.exp_channel_data n
where o.id = n.id
);
这只会检查一个字段(id
)。你可能还有其他条件。