这个问题已经在这里有了答案 :
在SQL Server中存储IP地址的数据类型 (10个答案)
3年前关闭。
在MySQL中存储和检索IP地址的最有效方法是什么?现在我正在做:
SELECT * FROM logins WHERE ip = '1.2.3.4'
其中ip是一个VARCHAR(15)
字段。
有一个更好的方法吗?
对于IPv4地址,您可能需要将其存储为,int unsigned
并使用INET_ATON()
和INET_NTOA()
函数从其数字值返回IP地址,反之亦然。
例:
SELECT INET_ATON('127.0.0.1');
+------------------------+
| INET_ATON('127.0.0.1') |
+------------------------+
| 2130706433 |
+------------------------+
1 row in set (0.00 sec)
SELECT INET_NTOA('2130706433');
+-------------------------+
| INET_NTOA('2130706433') |
+-------------------------+
| 127.0.0.1 |
+-------------------------+
1 row in set (0.02 sec)
问题内容: 我正在用Golang开发网络应用程序。我有一个IP地址。每当出现请求时,我都会使用它来查找返回IP地址的主机IP地址。比较这些的最佳方法是什么? 顺便说一下,在Python中,我们有一个数据结构,使得上述问题很容易解决,但是Go呢? 问题答案: 带“套” 建立我们的集合 Go中没有内置类型,但是您可以优雅地使用a 作为集合,例如: 注意:我们利用了以下事实:如果键不在映射中,则对映射建
问题内容: 正如“具有ipv6功能的inet_aton和inet_ntoa功能所需 ”中所要求的那样,当前没有用于存储IPv6地址的MySQL函数。建议用于存储/插入的数据类型/功能是什么?(我不打算将它们存储为字符串)。我也不想将IPv6地址分为2个INT。 问题答案: 怎么样: 那应该足够有效。 如该错误报告中所述,当前在MySQL服务器中没有将文本IPv6地址从二进制转换为二进制的功能。您需
问题内容: 这个问题已经在这里有了答案 : 在Oracle中表示IPv4 / IPv6地址 (7个答案) 8年前关闭。 我创建了一个表来存储IP地址。 但是当我尝试插入表中时,它给了我一个错误: 无论如何,我可以在SQL表中存储一个带有很多小数位的数字,如果是的话,我应该使用什么数据类型?请指教。 提前致谢! 问题答案: 您有几种选择: 将其存储为VARCHAR。IP地址实际上不是您可能会做数学运
问题内容: 我打算使用,但是我想知道如果我应该做INT并剥离句点怎么办。哪个会更好,为什么呢? 问题答案: 我想您只对IPv4地址感兴趣,而对IPv6不感兴趣。 我会在列中使用,然后使用和在文本表示形式和int值之间来回转换。
问题内容: 可以同时容纳IPv4和IPv6地址的一种数据类型。我想存储IP地址以限制一个人可以在我的网站上通过他/她的机器进行配置的数量。 问题答案: IPv4地址使用32位(4字节),IPv6地址使用128位(16字节)。因此,您可以将它们的二进制表示形式存储在或字段中。
问题内容: 在MySQL数据库中存储IP地址的最佳字段类型和长度是什么? IPv6呢? 问题答案: 将IP存储为,然后使用和功能存储/检索IP地址。 样例代码: