Wie wäre es mit:
BINARY(16)
Das sollte effektiv genug sein.
Derzeit gibt es keine Funktion zum Konvertieren von textuellen IPv6-Adressen von/in binäre im MySQL-Server, wie in diesem Fehlerbericht erwähnt. Sie müssen dies entweder in Ihrer Anwendung tun oder möglicherweise eine UDF (User-Defined Function) auf dem MySQL-Server erstellen, um dies zu tun.
AKTUALISIERUNG:
MySQL 5.6.3 unterstützt IPv6-Adressen, siehe Folgendes:„INET6_ATON(expr) ".
Der Datentyp ist VARBINARY(16)
statt BINARY(16)
wie ich vorhin vorgeschlagen habe. Der einzige Grund dafür ist, dass die MySQL-Funktionen sowohl für IPv6- als auch für IPv4-Adressen funktionieren. BINARY(16)
ist in Ordnung, um nur IPv6-Adressen zu speichern, und spart ein Byte. VARBINARY(16)
sollte verwendet werden, wenn sowohl IPv6- als auch IPv4-Adressen verarbeitet werden.
Eine Implementierung für ältere Versionen von MySQL und MariaDB finden Sie unter:"MYSQL 5 MIT IPV6-FUNKTIONEN ERWEITERN ".