Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quel type dois-je stocker des adresses IP pour MySQL ?

Je suppose que seules les adresses IPv4 vous intéressent, pas IPv6.

J'utiliserais un INT UNSIGNED pour la colonne, puis utilisez INET_ATON et INET_NTOA pour convertir dans les deux sens entre la représentation textuelle et la valeur int.

mysql> SELECT INET_ATON('192.168.10.50');
+----------------------------+
| INET_ATON('192.168.10.50') |
+----------------------------+
|                 3232238130 |
+----------------------------+
1 row in set (0.00 sec)

mysql> SELECT INET_NTOA(3232238130);
+-----------------------+
| INET_NTOA(3232238130) |
+-----------------------+
| 192.168.10.50         |
+-----------------------+
1 row in set (0.00 sec)