表 A 是从 CSV 文件导入的项目 list 。电子表格包括一列库存元素(即牙刷、浴室)的位置。
表 B 是表 A 中所有不同位置的列表。
我现在想用表 B 中的 ID 更新表 A,在表 A 的新列中设置为外键。我需要表 A 中的每条记录都有一个 location_id
,其中 location
的文本与表 B 中的 as_entered
匹配。
我试过:
UPDATE imported_data_copy
SET imported_data_copy.location_id=locations.id
WHERE locations.as_entered LIKE imported_data_copy.location;
我得到的错误是:
#1054 - Unknown column 'locations.as_entered' in 'where clause'
事实上,位置表中有一个 as_entered
列。
我做错了什么?
最佳答案
问题原来是我没有在 UPDATE 子句中包含 locations
表。正确的语法结果是:
UPDATE imported_data_copy,locations
SET imported_data_copy.location_id=locations.id
WHERE imported_data_copy.location LIKE locations.as_entered;
很高兴我在这里问了,因为我仍然会遇到 WHERE
子句的问题。
关于mysql - 如何通过比较两个表中的列来填充外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34681363/