¿Qué tal:
BINARY(16)
Eso debería ser lo suficientemente efectivo.
Actualmente no hay ninguna función para convertir direcciones IPv6 textuales de/a binario en el servidor MySQL, como se indica en ese informe de error. Debe hacerlo en su aplicación o posiblemente crear una UDF (función definida por el usuario) en el servidor MySQL para hacerlo.
ACTUALIZACIÓN:
MySQL 5.6.3 tiene soporte para direcciones IPv6, consulte lo siguiente:"INET6_ATON(expr) ".
El tipo de datos es VARBINARY(16)
en lugar de BINARY(16)
como sugerí anteriormente. La única razón de esto es que las funciones de MySQL funcionan tanto para direcciones IPv6 como IPv4. BINARY(16)
está bien para almacenar solo direcciones IPv6 y ahorra un byte. VARBINARY(16)
debe usarse cuando se manejan direcciones IPv6 e IPv4.
Una implementación para versiones anteriores de MySQL y MariaDB, consulte lo siguiente:"EXTENDIENDO MYSQL 5 CON FUNCIONES IPV6 ".