Tôi cho rằng bạn chỉ quan tâm đến địa chỉ IPv4, không phải IPv6.
Tôi sẽ sử dụng INT UNSIGNED
cho cột, rồi sử dụng INET_ATON
và INET_NTOA
để chuyển đổi qua lại giữa biểu diễn dạng văn bản và giá trị 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)