2012-01-15 157 views
6

我需要將內容從一個數據庫中的一列複製到另一個數據庫中的匹配列中,以便相同內容以相同ID進入記錄。類似下面的僞東西:將一列數據從一個數據庫複製到另一個數據庫

SET database2.table1.columnA TO database1.table1.columnA WHERE database2.id = database1.id 
+0

你有一個數據庫和一列,但你的場景中的* table *在哪裏? – 2012-01-15 21:02:33

+0

它們也是一樣的,已編輯反映這 – 2012-01-15 21:03:40

回答

4

您可以use JOIN in an UPDATE statement

UPDATE table1 t1 
JOIN database1.table1 as t2 ON 
    t1.id = t2.id 
SET 
    t1.columnA = t2.columnA 
+0

我得到錯誤1064,語法錯誤 – 2012-01-15 21:18:02

+0

嘗試;我沒有方便的mySQL,所以語法可能仍然是關閉的,但是這應該讓你走上正確的道路。 – 2012-01-15 22:09:29

14

MySQL使用的語法:

update database1.table1, database2.table1 
set database1.table1.columnA = database2.table1.columnA 
where database1.table1.id = database2.table1.id; 
+0

謝謝。語法也在Access中兼容(兩個表在同一個數據庫中)。 – 2012-10-08 14:30:37

+1

今晚我比以往更喜歡MySQL。 – 2015-09-15 17:40:30

3

如果不是因爲其他人相同的列,您可以使用以下:

USE `old_database`; 
INSERT INTO `new_database`.`new_table`(`column1`,`column2`,`column3`) 
SELECT `old_table`.`column2`, `old_table`.`column7`, `old_table`.`column5` 
FROM `old_table` 
相關問題