1

我有 MySQL 列来存储 IP,数据类型是varbinary 16.

当我将 IPV6 保存到其中时,为什么它会被截断?

2001:11ff:ffff:ffff:ffff:ffff:ffff:ffff

变成:

2001:11ff:ffff:f
4

2 回答 2

4

您似乎正在尝试将 IPv6 地址的字符串表示形式存储在您的VARBINARY(16)列中。您应该将其转换为VARBINARY(16)使用函数INET6_ATON(),然后您可以使用INET6_NTOA()将其取回。

SQLFiddle 演示

于 2013-08-17T08:19:59.173 回答
0

MySQL 5.6.3 支持 IPv6 地址,请参见以下内容:“ INET6_ATON(expr) ”。

于 2013-08-17T08:23:14.420 回答