正如IPv4地址实际上是32位数字一样,IPv6地址实际上是128位数字。地址有不同的字符串表示形式,但是实际地址是数字,而不是字符串。
因此,您无需将IP地址转换为数字,而是将地址的字符串表示形式解析为实际地址。
甚至没有一个
decimal可以容纳128位数字,因此留下了三个明显的选择:
- 存储分为两个
bigint
字段的数值 - 将地址的字符串表示形式存储在
varchar
字段中 - 将数值存储在16字节
binary
字段中
这两种方法都没有将IPv4地址存储在中的方便
int,因此您必须考虑它们的局限性以及对地址的处理需求。



