Pour stocker une IPv4, vous pouvez utiliser un INT UNSIGNED
, alors que pour un IPv6, vous avez besoin d'un decimal(39,0),
pour stocker une ip dans la table vous pouvez utiliser la fonction INET_ATON
:
INSERT INTO table (ipcol) VALUES (INET_ATON('192.168.0.10'));
et récupérez-le avec la fonction INET_NTOA
:
SELECT INET_NTOA(ipcol) AS ip FROM table;
Cela répondait à l'existence avant la prise en charge de MySQL IPv6 ; les utilisateurs doivent être informés que MySQL prend désormais en charge nativement IPv6 : https://dev.mysql.com/doc/refman /5.6/fr/fonctions-diverses.html