Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Welche Art von IP-Adressen sollte ich für MySQL speichern?

Ich nehme an, Sie interessieren sich nur für IPv4-Adressen, nicht für IPv6.

Ich würde einen INT UNSIGNED verwenden für die Spalte und verwenden Sie dann INET_ATON und INET_NTOA um zwischen der Textdarstellung und dem int-Wert hin und her zu konvertieren.

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)