在MySQL数据库中,存储IP地址的最佳字段类型和长度是什么?
IPv6呢?
ip2long
和long2ip
函数。 - Thai这取决于你想用它来做什么,但最简单的方法可能是将其表示为一个字符串。而这个问题涵盖了处理它所需的字符数(它是45)。
BINARY(16)
并在插入到数据库之前转换IP地址。例如,在PHP中(与MySQL通常一起使用的语言),您可以使用inet_pton()
函数来完成此操作。SELECT * FROM networks WHERE lowerBound<=MYIP AND upperBound>=MYIP
lowerBound = AND(networkAddress, subnetMask)
upperBound = OR(lowerBound, complement(subnetMask))
INT(11) UNSIGNED
并在INET函数中进行存储/检索是最好的方式,但有时如果你不打算按子网进行查询,可以选择使用VARCHAR(45)
。