MySQL Workbench将结果显示为BLOB

时间:2012-11-29 20:42:52

标签: mysql mysql-workbench

我一直发现MySQL Workbench将查询结果显示为BLOB。例如: SELECT INET_NTOA(167773449) - > BLOB

如果我选择'查看值',我可以确定文本值是'10 .0.5.9'但是当我选择多行并想要浏览内容时,这非常令人恼火。

有没有解决方法或者是工具的限制?

2 个答案:

答案 0 :(得分:53)

<强>背景 在结果中返回二进制字符串值(BINARY / VARBINARY类型)时会发生此问题。二进制字符串包含零字节,并且由于某种原因,显然是安全性,默认情况下未显示。有关二进制字符串here的详细信息。

即使在报告的示例SELECT INET_NTOA(167773449)中,该函数也会返回二进制字符串。请查看this以供参考。

<强>解决方案: 从MySQL Workbench v5.2.22开始,可以通过首选项来设置是显示还是隐藏这些值。

  1. 在MySQL Workbench中,转到:“编辑 - &gt;偏好设置... - &gt; SQL查询“编辑 - &gt;偏好设置。 .. - &gt; SQL编辑器 - &gt; SQL执行(取决于您拥有的Workbench版本)。
  2. 选中“将BINARY / VARBINARY视为非二进制字符串”选项以显示实际值。
  3. <强>参考: 已报告原始问题并使用修复here进行了回答。

答案 1 :(得分:8)

您可以做的是将BLOB类型转换为字符串。这将简单地让您在浏览select语句时浏览BLOB类型中的内容。

SELECT CAST('blob_column' AS CHAR(10000) CHARACTER SET utf8) FROM 'DB_table';