为什么我的IPV6在存储时会被截断?

时间:2013-08-17 08:09:35

标签: mysql ipv6

我有用于存储IP的MySQL列,数据类型为varbinary 16

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

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

变为:

2001:11ff:ffff:f

2 个答案:

答案 0 :(得分:4)

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

SQLFiddle demo

答案 1 :(得分:0)

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