Mysql
 sql >> Database >  >> RDS >> Mysql

Che tipo devo memorizzare gli indirizzi IP per MySQL?

Presumo che tu sia interessato solo agli indirizzi IPv4, non IPv6.

Userei un INT UNSIGNED per la colonna, quindi utilizzare INET_ATON e INET_NTOA per convertire avanti e indietro tra la rappresentazione testuale e il valore 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)