相关疑难解决方法(0)

如何在MySQL的单个列中存储128位数字?

我正在更改一些表以将IP地址存储为数字而不是字符串.这对于IPv4来说很简单,其中32位地址可以适合整数列.但是,IPv6地址是128位.

MySQL文档仅示出了数字类型多达64个比特("BIGINT").

我应该坚持使用char/varchar进行IPv6吗?(理想情况下,我想对IPv4和IPv6使用相同的列,所以我不想这样做).

有没有比使用两个bigint列更好的东西?每当使用地址时,我宁愿不必将值分解为上限和下限/ 64.

我正在使用MariaDB 5.1 - 如果在更高版本的MySQL中有更好的解决方案,那么很高兴知道,虽然没有立即帮助.

[编辑]请注意,我建议采用最佳方式执行此操作 - 很明显,有多种方法可以做到这一点(包括现有的字符串表示),但是(在性能方面)最好?(即如果某人已经完成了分析,这将使我无法做到这一点,或者如果我遗漏了一些明显的东西,那么知道也很好).

mysql types ipv6

36
推荐指数
2
解决办法
2万
查看次数

PHP $ _SERVER ['REMOTE_ADDR']显示IPv6

我在PHP中面临$ _SERVER ['REMOTE_ADDR']的问题即使服务器使用IPv4,它也会提供类似IPv6的值.

任何人都可以帮我解决这个问题.

php ipv6

9
推荐指数
1
解决办法
3万
查看次数

标签 统计

ipv6 ×2

mysql ×1

php ×1

types ×1