从另一个不存在条目的数据库插入

时间:2014-02-14 17:23:21

标签: mysql sql

我有相同的数据库,一个较新,一个较旧。

我需要将较新的数据库中的任何新行复制到较旧的数据库中。

每一行都有entry_id所以我正在寻找一种在复制该行之前检查它是否存在的方法。

我在想,WHERE NO EXISTS可能是我需要的,但是当从另一个数据库复制时我无法弄清楚如何做到这一点。

INSERT INTO lightand_expressionengine.exp_channel_data
FROM lightand_expressionengineold.exp_channel_data
WHERE NOT EXISTS ()

有什么想法吗?

1 个答案:

答案 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)。你可能还有其他条件。