Para armazenar um IPv4 você pode usar um
INT UNSIGNED
, enquanto para um IPv6 você precisa de um decimal(39,0),
para armazenar um ip na tabela você pode usar a função INET_ATON
:INSERT INTO table (ipcol) VALUES (INET_ATON('192.168.0.10'));
e recuperá-lo com a função
INET_NTOA
:SELECT INET_NTOA(ipcol) AS ip FROM table;
Isso respondeu existente antes do suporte ao IPv6 do MySQL; os usuários devem estar cientes de que o MySQL agora suporta IPv6 nativamente: https://dev.mysql.com/doc/refman /5.6/en/miscellaneous-functions.html