2014-02-14 41 views
0

我有相同的數據庫,一個更新,一個更舊。從其他數據庫插入條目不存在

我需要將新數據庫中的任何新行復制到舊數據庫中。

每一行都有一個entry_id所以我正在尋找一種方法來檢查複製該行之前是否存在。

我在想,也許WHERE NO EXISTS將是我需要的,但我不知道如何從另一個數據庫複製時如何做到這一點。

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

任何想法?

回答

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)。您可能有其他條件。

+0

謝謝。我怎麼說插入到每列中的每一列。它會只是(*)的頂部兩行代替col1,... coln的情況)? – user2889310

+0

@ user2889310。 。 。是。您可以使用'*',假設兩個表具有相同順序的相同列。 –

相關問題