0

我正在尝试将数据从一个表插入到另一个表中,但它们必须使用相同的 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'

我究竟做错了什么?

4

1 回答 1

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 
于 2013-05-01T20:16:27.113 回答