2016-01-15 36 views
0

我有一個嵌入式H2數據庫(D1)和表T1的獨立Java應用程序。我有另一個MySQL數據庫(D2)與託管在服務器上的表T2。我的要求是從D2.T2中提取完整的數據並將其推送到D1.T1中。 T1和T2都有相同的表格定義。首先拉不是問題。從第二次拉動開始,我只需要拉動在D2.T2中更新的行並在D1.T2中更新它。這怎麼能實現?我必須從上次拉出來的三角洲找到它們,然後更新這些行。比較不同數據庫中的2個表並執行增量測試

+0

你可以修改表以包含hashkey列嗎? –

+0

我無法修改表D2.T2。它是我們的企業DB –

回答

0

如果這兩個表的結構是一樣的,你可以試試下面的SQL語句:

INSERT INTO your_table 
    (your_column, ...) 
VALUES 
    (your_value, ...) 
ON DUBLICATE KEY UPDATE 
    your_column = your_value, ... 

你必須從源數據庫中獲取的項目和目標數據庫上執行的每一個上面的語句。

+0

它們位於兩個不同的服務器上:( –

+0

我認爲,這不是問題。在第一步獲取條目並將其推送到目標數據庫。 –