【发布时间】:2018-09-19 06:44:39
【问题描述】:
我从 Maxmind 下载了一个包含 IPv6 数据的 CSV 文件。我需要将其上传到 MySql 表,然后使用该表通过 IPv6 检测国家/地区。
所以第一个问题是我的 MySQL 表中的 MySql 类型应该是什么 LONGSTART 和 LONGEND 字段,因为最大 INTEGER 长度可以是 20 而我有 42540488558116655331872044393019998208 数字?
另一个问题是如何构建一个 MySql 查询以便在LONGSTART 和LONGEND 之间找到一个 IP 地址?我使用了一个函数(ipv6_numeric($ip)),它将'2001::11ff:ffff:f' IPv6 地址转换为像2540488558116655331872044393019998208 这样的长数字。
感谢您的提前!
【问题讨论】:
-
你为什么要使用 MySQL?为什么在插入行之前不检测国家,然后同时插入ipv6和国家代码?
-
你误会了,我打算用一个包含 IP 和国家的表格。
-
在这种情况下,关于国家的整个事情似乎无关紧要。您在确定国家/地区时没有问题,只是在比较非常大的值时遇到了问题。