数据库
首页 > 数据库> > 在MySQL中存储IP地址的最有效方法

在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