IPv6 - 国家检测

IPv6 - country detection

我从 Maxmind 下载了一个 CSV 文件,其中包含 IPv6 数据。我需要将它上传到 MySql table 然后使用这个 table 通过 IPv6 检测一个国家。

所以第一个问题是 MySql 类型应该是 LONGSTARTLONGEND 字段在我的 MySQL table 中最大整数长度可以是20 而我有 42540488558116655331872044393019998208 号码?

另一个问题是如何构建 MySql 查询以查找 LONGSTARTLONGEND 之间的 IP 地址?我使用一个函数( ipv6_numeric($ip) )将 '2001::11ff:ffff:f' IPv6 地址转换成一个长数字,如 2540488558116655331872044393019998208.

感谢提前!

您可以使用以下简单的 SQL 查询。

SELECT * FROM `geoip2`
WHERE [SEARCH IP NO] <= LONGEND LIMIT 1