2013-02-19 109 views
0

请有人可以帮忙,我真的卡住了。我有一个mysql数据库与两个表(与成千上万的行),每个表都有一个名为'地图'列,我需要将所有行从一个表列中复制到另一个表'地图'列?从一个表复制列数据到另一个

我知道这看起来很简单,但我在一个混乱

+1

请编辑您的问题,以包括您的解决方案的一个或多个尝试。谢谢。 – bernie 2013-02-19 20:16:33

回答

0

像这样的工作得到。

UPDATE table_to 
     JOIN table_from 
     <put join here> 
SET table_to.map = table_from.map 
+0

嗨,谢谢。我刚刚尝试过,并且查询运行但将“空”复制到所有行而不是原始表中的值,它也只更新了三分之一的行? – user2088574 2013-02-19 20:52:16

+0

你能发表你试过的SQL语句吗?此外,如果您可以显示您的表格结构,或者访问www.sqlfiddle.com并输入一些示例数据,则解决起来会更容易。 – Tom 2013-02-19 21:33:17

+0

有两个表,newforummembers和members444,每个人都有一个名为 '地图' comlumn这是SQL: newforummembers JOIN members444 ON newforummembers.map = members444.map SET newforummembers.map = members444.map – user2088574 2013-02-19 22:11:07

0

或者只是简单地使用下一个。这会将table_from中的所有行与地图列中的值一起插入到table_to的地图列中。从一个表到另一在MySQL

INSERT INTO table_to 
(map) 
SELECT map FROM table_from 
+0

嗨,更新了所有的行,但仍然复制到每一行,而不是原始表列中的值 – user2088574 2013-02-19 20:59:35

+0

嗨,是的,这是插入所有行,独立无论它们的值是否为null。您可以插入,如果这是一个要求先筛选出的任何值: 'INSERT INTO table_to (图) 选择地图FROM table_from:如果你想插入唯一的值(如无重复)地图是不是也NULL'然后使用'INSERT INTO table_to (map) SELECT DISTINCT map FROM table_from WHERE map IS NOT NULL' – 2013-02-19 21:26:20

+0

我需要它复制列中的所有行,此刻它只是更新members444 map列,但填充了null比原始表中的值要多。 – user2088574 2013-02-19 22:15:04

0

复制数据

INSERT INTO database1table1选择*从database2table2;

相关问题