MySQL Workbench将结果显示为BLOB

Mr.*_*Boy 30 mysql mysql-workbench

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

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

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

小智 58

背景: 在结果中返回二进制字符串值(BINARY/VARBINARY类型)时会发生此问题.二进制字符串包含零字节,并且由于某种原因,显然是安全性,默认情况下未显示.关于二进制字符串的更多细节在这里.

即使在报告的示例中SELECT INET_NTOA(167773449),该函数也返回二进制字符串.检查这个以供参考.

解决方案: 自MySQL Workbench v5.2.22起,可以通过首选项设置是显示还是隐藏此类值.

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

参考: 原始问题已报告并在此处修复.

  • 在 6.2 范围内的某个地方有一个回归:这不再有效。 (6认同)
  • 在Workbench 6.2中,设置位于"编辑 - >首选项 - > SQL编辑器 - > SQL执行"下 (3认同)

Swe*_*lly 11

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

SELECT CAST('blob_column' AS CHAR(10000) CHARACTER SET utf8) FROM 'DB_table';
Run Code Online (Sandbox Code Playgroud)

  • 工作台错误的优秀解决方法! (4认同)