Co třeba:
BINARY(16)
To by mělo být dostatečně účinné.
V současné době neexistuje žádná funkce pro převod textových adres IPv6 z/do binárních na serveru MySQL, jak je uvedeno v této zprávě o chybě. Buď to musíte udělat ve své aplikaci, nebo případně vytvořit UDF (User-Defined Function) na serveru MySQL, abyste to udělali.
AKTUALIZACE:
MySQL 5.6.3 má podporu pro adresy IPv6, viz následující:"INET6_ATON(expr) ".
."
Datový typ je VARBINARY(16)
místo BINARY(16)
jak jsem navrhoval dříve. Jediným důvodem je to, že funkce MySQL fungují pro adresy IPv6 i IPv4. BINARY(16)
je v pořádku pro ukládání pouze adres IPv6 a šetří jeden bajt. VARBINARY(16)
by měl být použit při práci s adresami IPv6 i IPv4.
Implementace pro starší verze MySQL a MariaDB, viz následující:"ROZŠÍŘENÍ MYSQL 5 O FUNKCE IPV6 ".
."