MySQL:无法根据匹配的 id 将数据从一个表复制到另一个表

时间:2021-03-27 21:09:48

标签: mysql copy

我需要根据匹配字段将现有数据从一个表复制到另一个。这不是批发专栏骗局。

它的工作原理是:如果 id 中的 assetassetID 中的 report 匹配,则复制 repEmail 中的 report 字段}} 表插入资产表中的 rep_email 字段。这是我基于 insert...selectMySQL docs 构建的:

INSERT INTO asset (rep_email)
  SELECT report.repEmail
  FROM report WHERE report.assetID = asset.id

这会抛出:Error in query (1054): Unknown column 'asset.id' in 'where clause'

我也试过这个:

where safety_report.eNumber = asset_roster.id
insert into asset_roster (building_rep_email) 
select bldgRepEmail from safety_report;

但它在第一行出错。 :(

我不确定如何修改它以消除错误并正确写入值。 似乎应该是一个简单的操作...请指教。

注意:我没有表格的管理员访问权限。这种看似重复的原因与对不同表的权限有关。即使没有,我也需要写外键......

1 个答案:

答案 0 :(得分:1)

我认为您想用 rep_emailasset 列中的值更新 repEmailreport 列:

UPDATE asset a
INNER JOIN report r ON r.assetID = a.id
SET a.rep_email = r.repEmail
相关问题