根据另一列将id从一个表插入另一个表

时间:2016-12-23 09:25:44

标签: mysql

这里有新的MySql用户。

假设我有两个表:

表1 rownames - > external_id,名称,位置

表2 rownames - > id,名称,类型,价值,年份

我想要做的是编写一个脚本,在Table2.external_id中填充Table2.external_id中的值,如果Table1.name和Table2.name中存在匹配。

我想到了类似的东西,但遗憾的是它没有用。

insert into Table2.id
    select Table1.external_id
    where Table1.name = Table2.name

2 个答案:

答案 0 :(得分:1)

试试这个:

insert into Table2 (id)
    select Table1.external_id
    where Table1.name = Table2.name;

答案 1 :(得分:1)

如果您在此处执行插入操作,您将要做的是创建一大堆重复项。您需要的是更新加入

UPDATE table1 INNER JOIN table2 set table2.id = table1.external_id
WHERE Table1.name = Table2.name;

您不需要任何脚本,只需将其输入mysql客户端,phpmyadmin等