将数据从一个表插入另一个表

时间:2011-08-29 04:49:43

标签: mysql insert

有一张桌子,

City[city_id,state_id]

同一个数据库中有另一个表,

Registration[reg_id,city_id]

现在,我已经在“注册”表中添加了一个列,因此它变为如下所示,

    Registration[reg_id,city_id,state_id]

但问题是state_id列的值为'0'。那么,如何根据“注册”表的匹配city_id值,从“城市”表中插入“注册”表的state_id列的值。

3 个答案:

答案 0 :(得分:1)

这适用于MySQL。在后台,它指示服务器在两个表上进行内连接。

UPDATE Registration r, City c SET r.state_id = c.state_id WHERE r.city_id = c.city_id;

答案 1 :(得分:0)

只要这个查询只执行一次 - 你就可以使用这个效率不高但可读的查询:

UPDATE Registration r
   SET state_id = (SELECT state_id
                     FROM City c
                    WHERE c.city_id = r.city_id)

答案 2 :(得分:0)

不确定MySQL,但这是如何在Oracle和SQL Server中完成的:

UPDATE Registration r SET state_id = (SELECT state_id FROM City WHERE city_id = r.city_id)