2012-01-15 225 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` 
相关问题