从GeoIP国家数据库更新MySQL表中的国家/地区字段

时间:2011-07-20 12:57:50

标签: mysql

我有一张记录访客IP地址的表格。此表名为 crm_record

我已下载Maxmind GeoIP国家/地区数据库,并希望从此表更新crm_record中的国家/地区字段

我知道查询maxmind数据库的这个查询

SELECT country_name
FROM crm_geo_country
WHERE INET_ATON("82.145.208.23") BETWEEN beginip AND endip

但是我需要UPDATE查询的语法,它允许我从crm_geo_country更新crm_record上的country字段

1 个答案:

答案 0 :(得分:1)

UPDATE  crm_record r
JOIN    crm_geo_country gc
ON      INET_ATON(r.address) BETWEEN gc.beginip AND gc.endip
SET     r.country = gc.country_name

请注意,这将是非常低效的。

您需要以修改geoip表的数字格式存储IP地址,以使用空间字段存储范围。