Подтвердить что ты не робот

MySQL Workbench показывает результаты как BLOB

Я продолжаю обнаруживать, что MySQL Workbench показывает результаты запроса как BLOB. например: SELECT INET_NTOA(167773449)BLOB

Если я выбираю "просмотр значения", я могу определить, что текстовое значение равно "10.0.5.9", но это довольно раздражает, когда я выбираю несколько строк и хочу взглянуть на содержимое.

Есть ли способ обойти это или это ограничение инструмента?

4b9b3361

Ответ 1

Фон: Эта проблема возникает, когда в результатах возвращаются значения двоичной строки (тип BINARY/VARBINARY). Бинарные строки содержат нулевые байты, и по какой-то причине, по-видимому, безопасность по умолчанию не отображается. Подробнее о бинарных строках здесь.

Даже в представленном примере SELECT INET_NTOA(167773449) функция возвращает двоичную строку. Проверьте этот для справки.

Решение: Начиная с MySQL Workbench v5.2.22, его можно настроить с помощью настроек SHOW или HIDE таких значений.

  • В MySQL Workbench перейдите к: "Изменить → Настройки... → SQL-запросы" ИЛИ "Изменить → Настройки... → Редактор SQL" (в зависимости от того, какая версия Workbench у вас есть).
  • Установите флажок "Обработать BINARY/VARBINARY как недвойственную строку символов", чтобы отобразить фактическое значение.

Справка: О первоначальной проблеме сообщили и ответили с исправлением здесь.

Ответ 2

Что вы можете сделать, это передать свой тип BLOB в строку. Это просто позволит вам взглянуть на то, что в вашем BLOB-типе, когда просматривает ваш оператор select.

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