如何在MySQL中读取存储为varbinary的IPv6地址?

时间:2012-04-06 04:54:31

标签: mysql ipv6 varbinary

我将IPv6地址存储为具有PHP函数varbinary的{​​{1}}。当我运行SQL查询时,例如:

inet_pton($_SERVER['REMOTE_ADDR'])

我无法读取ip_address,因为它是SELECT ip_address FROM some_table WHERE id='some_id'; 格式。

我注意到MySQL version 5.6中有相应的MySQL函数binary将其恢复为可读格式。不幸的是,我使用的是MySQL 5.5版,它没有这个功能。

有没有其他方法可以读取IPv6地址而无需返回PHP进行转换?我可以使用Workbench中的编辑器轻松读取二进制字符串的十六进制表示法,如附图所示,所以我认为应该有一种简单的方法来执行此操作。

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以编写用户定义的函数来为您进行转换,并在select子句中调用它们。有关详细信息,请参阅this链接。