我試圖更新表1的COUNTRY_ID的,所以我可以刪除列iso_2_code
和Country
因該數據是在數據庫冗餘和已經存儲在表2MSQL更新表1使用表2 UPDATE選擇從
表1 - oc_ip_geo_table
=================================================================================================
| ID | StartRange | EndRange | iso_2_code | Country | country_id |
=================================================================================================
| 1 | 1.0.1.0 | 1.0.3.255 | CN | China | 0 |
| 2 | 1.0.4.0 | 1.0.7.255 | AU | Australia | 0 |
| 3 | 1.0.8.0 | 1.0.15.255 | CN | China | 0 |
| 4 | 1.0.16.0 | 1.0.31.255 | JP | Japan | 0 |
| ... | ... | ... | ... | ... | ... |
| 87035 | 223.255.255.0 | 223.255.255.255 | AU | Australia | 0 |
-------------------------------------------------------------------------------------------------
表2 - oc_country
=================================================================================
| country_id | name | iso_code_2 | * | * | * |
=================================================================================
| 1 | Afghanistan | AF | * | * | * |
| 2 | Albania | AL | * | * | * |
| 3 | Algeria | DZ | * | * | * |
| ... | ... | ... | ... | ... | ... |
| 251 | Canary Islands | IC | * | * | * |
---------------------------------------------------------------------------------
搜索到谷歌搜索結果後,我發現我的查詢應該looklike日是。但它似乎不工作。
UPDATE oc_ip_geo_table
SET oc_ip_geo_table.country_id = oc_country.country_id
FROM oc_ip_geo_table
INNER JOIN oc_country
ON oc_ip_geo_table.iso_2_code = oc_country.iso_code_2
誰能幫我用正確的查詢
您使用的是MySQL還是MS SQL? – 2014-09-10 12:12:00