我需要根据匹配字段将现有数据从一个表复制到另一个。这不是批发专栏骗局。
它的工作原理是:如果 id
中的 asset
与 assetID
中的 report
匹配,则复制 repEmail
中的 report
字段}} 表插入资产表中的 rep_email
字段。这是我基于 insert...select
的 MySQL 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;
但它在第一行出错。 :(
我不确定如何修改它以消除错误并正确写入值。 似乎应该是一个简单的操作...请指教。
注意:我没有表格的管理员访问权限。这种看似重复的原因与对不同表的权限有关。即使没有,我也需要写外键......
答案 0 :(得分:1)
我认为您想用 rep_email
的 asset
列中的值更新 repEmail
的 report
列:
UPDATE asset a
INNER JOIN report r ON r.assetID = a.id
SET a.rep_email = r.repEmail