在MySQL中存储IP地址的最有效方法
作者:互联网
参见英文答案 > Datatype for storing ip address in SQL Server 10个
在MySQL中存储和检索IP地址的最有效方法是什么?现在我正在做:
SELECT * FROM logins WHERE ip = '1.2.3.4'
其中ip是VARCHAR(15)字段.
有一个更好的方法吗?
解决方法:
对于IPv4 addresses,您可能希望将它们存储为未签名的int,并使用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)
标签:sql,mysql,ip-address 来源: https://codeday.me/bug/20190918/1811639.html