MySQL Workbench 将结果显示为 BLOB

Posted

技术标签:

【中文标题】MySQL Workbench 将结果显示为 BLOB【英文标题】:MySQL Workbench shows results as BLOB 【发布时间】:2012-11-18 00:48:10 【问题描述】:

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

如果我选择“查看值”,我可以确定文本值是“10.0.5.9”,但是当我选择多行并想看一眼内容时,这很烦人。

有没有办法解决这个问题,还是工具的限制?

【问题讨论】:

【参考方案1】:

背景: 当结果中返回二进制字符串值(BINARY/VARBINARY 类型)时,会出现此问题。二进制字符串包含零字节,出于某种原因,显然是安全的,默认情况下没有显示。更多关于二进制字符串here的细节。

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

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

    在 MySQL Workbench 中,转到:“编辑 -> 首选项... -> SQL 查询“编辑 -> 首选项... - > SQL 编辑器 -> SQL 执行"(取决于您拥有的 Workbench 版本)。 选中“将 BINARY/VARBINARY 视为非二进制字符串”选项以显示实际值。

参考: 原始问题已报告并通过修复 here 进行了答复。

【讨论】:

在Workbench 6.2中,设置在Edit -> Preferences -> SQL Editor -> SQL Execution 在 6.2 范围内的某个地方出现了回归:这不再有效。【参考方案2】:

您可以做的是将您的 BLOB 类型转换为字符串。这只会让您在浏览您的选择语句时浏览一下您的 BLOB 类型中的内容。

SELECT CAST(`blob_column_name` AS CHAR(10000) CHARACTER SET utf8) FROM `table_name`;

【讨论】:

以上是关于MySQL Workbench 将结果显示为 BLOB的主要内容,如果未能解决你的问题,请参考以下文章

MySQL Workbench 能否在查询结果网格中显示选中的行数?

macOS sierra 的 mysql workbench 6.3.9 上未显示结果网格

Mysql Workbench查询成功但是不显示

mysql workbench 将查询结果导出 sql 文件

MySQL Workbench 在查询运行之前将我踢开

在 MySQL Workbench 中显示错误