2010-07-24 54 views
0

我有兩個表格,一個叫做國家和一個叫做國家。國家既有國家也有國家,但沒有國家的ISO。國家表的國家名稱是ISO,但沒有州。我試圖做一個插入選擇來更新國家/地區表中的新ISO列,並根據國家/地區表(即將ISO從一個表移動到另一個表)進行填充。INSERT ... SELECT,WHERE

這是我有:

INSERT countries (country_iso) SELECT country.iso FROM countries,country WHERE countries.name = country.printable_name 

這一切的事,是把ISO的在國表的末尾。它沒有使用WHERE countries.name = country.printable_name(這是匹配的兩列)。

任何想法我做錯了什麼?

謝謝!

回答

2

INSERT創建新行。它看起來像你想更新現有的行。

+0

哈哈....咄,謝謝! – dzm 2010-07-24 17:50:00

0

你需要運行的更新,而不是插入:

UPDATE countries set country_iso = country.iso 
FROM countries INNER JOIN country on countries.name = country.printable_name 

一種插件,創建新的行而更新修改現有行。

0

如何:

UPDATE countries,country SET countries.country_iso=country.iso WHERE countries.name=country.printable_name