2010-08-03 41 views
17

我有2個不同的數據庫駐留在同一臺服務器上的2個相同的表。將數據從表格複製到另一個表格的最佳方法是什麼?使用MySQL選擇並跨多個數據庫插入

+0

爲什麼你有這樣的擺在首位的冗餘數據? – NullUserException 2010-08-03 18:42:41

+0

@NullUserException我知道這是一箇舊的評論,但它對於當想要將數據的子集提取到單獨的數據庫中進行測試/調試時非常有用。 – 2013-10-31 09:12:53

回答

30

用途:

INSERT INTO db1.table1 
SELECT * 
    FROM db2.table2 t2 
WHERE NOT EXISTS(SELECT NULL 
        FROM db1.table1 t1 
        WHERE t1.col = t2.col) 

的存在被簡化,但是你離開了,如果有一個主鍵/ AUTO_INCREMENT擔心的/ etc。

+1

如果db1和db2在不同的IP地址上,該怎麼辦? – 2015-07-24 08:44:50

3

只是對OMG小馬的回答稍微詳細,你可以使用任何WHERE條款,比如:

INSERT INTO db1.tablename 
SELECT * 
FROM db2.tablename src 
WHERE src.lastlogin >= '2013-10-31 07:00:00'