我正在尝试将数据从一个表插入到另一个表中,但是他们必须使用相同的ID进行链接。
我使用以下代码:
INSERT INTO table1 (population_total, GDP_current_US, life_expectancy_at_birth)
SELECT population_total, GDP_current_US, life_expectancy_at_birth
FROM table2
WHERE table1.id=table2.country_code
我收到以下错误:
#1054 - 'where子句'
中的未知列'table1.id'
我做错了什么?
答案 0 :(得分:1)
试试这个:
INSERT INTO table1 (id, population_total, GDP_current_US, life_expectancy_at_birth)
SELECT country_code, population_total, GDP_current_US, life_expectancy_at_birth
FROM table2
这将从源表中提取国家/地区代码,并将其作为ID插入新表中。因此,它们将被相同的ID“链接”。
如果您尝试更新与国家/地区代码匹配的现有行,则需要执行以下操作:
UPDATE table1
JOIN table2
ON table1.id = table2.country_code
SET
population_total = table2.population_total,
GDP_current_US = table2.GDP_current_US,
life_expectancy_at_birth = table2.life_expectancy_at_birth