We went for a VARBINARY(16)
column instead and use inet_pton()
and inet_ntop()
to do the conversions:
https://github.com/skion/mysql-udf-ipv6
The functions can be loaded into a running MySQL server and will give you INET6_NTOP
and INET6_PTON
in SQL, just as the familiar INET_NTOA
and INET_ATON
functions for IPv4.
Edit: There are compatible functions in MySQL now, just with different names. Only use the above if you are on pre-5.6 MySQL and are looking for a convenient future upgrade path.