2014-01-21 35 views
0
INSERT INTO Table2 (id, name,age) 

SELECT Table1.Id,Table1.name,Table1.age FROM Table1 LEFT JOIN Table2 
ON (Table1.id=Table2.id) WHERE Table2.id IS NULL 

上述代碼對於將數據從一個表格傳輸到另一個表格時非常有幫助,而這兩個表格位於同一個數據庫中。如何將記錄從Server1 db1 table1複製到Server2 db2 table2?

但是,現在我必須做同樣的任務,但跨越不同的服務器!有人可以編輯上面的代碼,這樣很容易理解嗎?謝謝。

P.S.請使用:

Server1的訪問=> 'IP1', '用戶1', 'PASS1', 'DB1'

Server2上訪問=> 'IP2', '用戶2', 'PASS2',「DB2 '

+0

簡短的回答你不能直接在mysql中做這個。您可以嘗試使用聯合存儲引擎,請參閱文檔http://dev.mysql.com/doc/refman/5.0/en/federated-storage-engine.html – bansi

+0

@MiniGunnR:bansi是正確的。如果您想直接執行此操作,則必須使用聯合存儲引擎。閱讀:[如何使用FEDERATED表](http://dev.mysql.com/doc/refman/5.0/en/federated-use.html) –

+0

謝謝你們。我目前正在閱讀bansi給出的文檔,但是,它說我必須完全按照原樣複製這兩個表。所以,如果我只想從包含30列的表中同步幾列,看起來我不能那樣做。 : -/ – MiniGunnR

回答

0

你可以做到這一點,沒有問題。只要告訴我一件事,你想在PHP文件中使用這個查詢...

+0

是的。我想通過cron每5秒或10秒運行一次這個腳本,以便這兩個表同步。我不知道這是否是最好的方法。 :) – MiniGunnR

+0

以前你並沒有告訴我們你想在每5到10秒後運行一次這些表格...... – Partap

+0

如果它可以做一次,重複地做這件事不是我想的問題。 – MiniGunnR

相關問題