2016-05-15 180 views
0

我有兩個數據庫服務器 服務器:a,數據庫名稱:FMIS,表名稱:員工 服務器:b,數據庫名稱:KPS,表名:僱員。 我需要一個SQL命令,它將數據從FMIS的員工表中複製到KPS的員工表中。 我寫了一個像下面的公式,但它不工作。將數據從一個數據庫複製到另一個數據庫

INSERT INTO a.fmis.employee(列1,列2,...) 選擇列1,列2,... 從b.kps.employee

這將是正確的SQL命令?

回答

0

如果他們在同一臺服務器上,那麼從一個數據庫複製到另一個數據庫會很容易,但是由於他們不是,您需要手動將其轉移。

您應該能夠使用

SHOW CREATE TABLE 

得到表結構,並

SELECT * FROM tablename INTO OUTFILE '/path/to/save.tsv' 

(確保文件不存在,並且用戶具有文件的權限)導出數據。

然後將此信息複製到其他服務器。

您可以只運行CREATE TABLE你從第一步得到的,然後用

LOAD DATA INFILE 'path/to/save.tsv' INTO TABLE tablename 

導入數據。請注意,目標表名稱不必與原始表名相同。

+0

我已經運行這個像SELECT * FROM name INTO OUTFILE'C:/save.tsv',但顯示不正確的語法附近。你能幫忙嗎? –

+0

'OUTFILE'或'INFILE'中應該沒有空格 - 它們是單個關鍵字。 –

+0

是的,我沒有放任何空間。像SELECT * FROM name INTO OUTFILE'C:/save.tsv' –

相關問題