我有一张记录访客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字段
答案 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地址,以使用空间字段存储范围。