使用select选项从另一个数据库插入,并且两个数据库表ID均相等

时间:2019-01-27 22:23:37

标签: mysql

我正在尝试从旧数据库中插入表数据。在数据库表和选择特定列中的ID均相等。这是我的数据库。

旧数据库:sch->旧表:product

(id, tag, url) 
(13, red, aaa.html)
(14, red, bbb.html)
...
(100, red, zzz.html)

新数据库:orgin->新表:用户

(url, oldid) 
(null, 13)
(null, 14)
...
(null, 100)

在旧数据库表中有135个标签具有相同的值,并且旧ID已插入到新数据库表中。我想插入标记列为“ red”的旧数据库表中的所有url,而旧数据库表“ id”等于新数据库表“ oldid”。

1 个答案:

答案 0 :(得分:1)

您似乎正在寻找JOIN版本的更新:

UPDATE orgin.user u
INNER JOIN sch.product p ON p.tag = 'red' AND p.id = u.oldid
SET u.url = p.url

此查询将拔出表oldid中存在product并带有红色tag的每个用户,并将其url设置为{{1}中的相应值}。