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 に答える