我一直发现MySQL Workbench将查询结果显示为BLOB
。例如:
SELECT INET_NTOA(167773449)
- > BLOB
如果我选择'查看值',我可以确定文本值是'10 .0.5.9'但是当我选择多行并想要浏览内容时,这非常令人恼火。
有没有解决方法或者是工具的限制?
答案 0 :(得分:53)
<强>背景强> 在结果中返回二进制字符串值(BINARY / VARBINARY类型)时会发生此问题。二进制字符串包含零字节,并且由于某种原因,显然是安全性,默认情况下未显示。有关二进制字符串here的详细信息。
即使在报告的示例SELECT INET_NTOA(167773449)
中,该函数也会返回二进制字符串。请查看this以供参考。
<强>解决方案:强> 从MySQL Workbench v5.2.22开始,可以通过首选项来设置是显示还是隐藏这些值。
<强>参考:强> 已报告原始问题并使用修复here进行了回答。
答案 1 :(得分:8)
您可以做的是将BLOB类型转换为字符串。这将简单地让您在浏览select语句时浏览BLOB类型中的内容。
SELECT CAST('blob_column' AS CHAR(10000) CHARACTER SET utf8) FROM 'DB_table';