Как я могу напрямую просматривать blob в MySQL Workbench
Я использую MySQL Workbench CE 5.2.30 CE/Rev 6790. При выполнении следующего утверждения:
SELECT OLD_PASSWORD("test")
Я получаю только приятный значок BLOB
, мне нужно щелкнуть левой кнопкой мыши, чтобы выбрать ячейку, щелкните правой кнопкой мыши и выберите "Открыть значение в средстве просмотра" и выберите вкладку "Текст".
Используя то же самое с phpMyAdmin, я получаю прямо обратно значение вызова OLD_PASSWORD
. Это просто пример, но есть ли способ увидеть такие результаты непосредственно на выходе?
Ответы
Ответ 1
Короче:
- Перейти в "Правка"> "Настройки"
- Выберите редактор SQL
- В разделе Выполнение SQL установите флажок Обрабатывать BINARY/VARBINARY как строку недвоичных символов.
- Перезапустите MySQL Workbench (вам не будет предложено или проинформировано об этом требовании).
В MySQL Workbench 6. 0+
- Перейдите в "Правка"> "Настройки"
- Выберите SQL-запросы
- В разделе Результаты запроса установите флажок Обрабатывать BINARY/VARBINARY как строку недвоичных символов.
- Перезапуск MySQL Workbench не обязательно (вам не будет предложено или проинформировано об этом требовании). *
С помощью этого параметра вы сможете объединять поля, не получая BLOB-объектов.
Я думаю, что это относится к версиям 5.2.22 и выше и является результатом этой ошибки MySQL.
Отказ от ответственности: я не знаю, какова обратная сторона этого параметра - может быть, когда вы выбираете значения BINARY
/VARBINARY
вы увидите его в виде простого текста, который может вводить в заблуждение и/или, возможно, он будет снижать производительность, если они достаточно велики?
Ответ 2
Выполните три шага:
-
Перейдите в раздел "Настройки WorkBench" → Выберите "Редактор SQL" в разделе "Результаты запроса": установите флажок "Обработать BINARY/VARBINARY как недвоичную строку символов"
-
Перезагрузите MySQL WorkBench.
-
Теперь выберите SELECT SUBSTRING(BLOB<COLUMN_NAME>,1,2500) FROM <Table_name>;
Ответ 3
Я не уверен, отвечает ли этот вопрос на вопрос, но если вы щелкните правой кнопкой мыши по значку "blob" в поле (при просмотре таблицы), появится опция "Открыть значение в редакторе". Одна из вкладок позволяет вам просматривать blob. Это верно. 5.2.34
Ответ 4
литье работает, но это боль, поэтому я бы рекомендовал использовать метод spioter, если вы не используете много по-настоящему данных blob.
SELECT CAST(OLD_PASSWORD("test") AS CHAR)
Вы также можете использовать другие типы и даже ограничивать размер, но большую часть времени я просто использую CHAR:
http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html#function_cast
Ответ 5
Кажется невозможным, я боюсь, его указали как ошибку в workbench:
http://bugs.mysql.com/bug.php?id=50692
Было бы очень полезно, хотя!
Ответ 6
имела ту же проблему, согласно документации MySQL, вы можете выбрать подстроку BLOB:
SELECT id, SUBSTRING(comment,1,2000) FROM t
HTH, glissi
Ответ 7
Рабочее место 6.3
Следуйте за высоким счетом, затем используйте UNCOMPRESS()
(Короче говоря:
1. Перейдите в меню "Редактирование" > "Настройки"
2. Выберите Редактор SQL
3. В разделе "Выполнение SQL" установите флажок "Обработка BINARY/VARBINARY" как небиная строка символов
4. Перезагрузите MySQL Workbench (вам не будет предложено или не информировано об этом требовании).
Тогда
SELECT SUBSTRING(UNCOMPRESS(<COLUMN_NAME>),1,2500) FROM <Table_name>;
или
SELECT CAST(UNCOMPRESS(<COLUMN_NAME>) AS CHAR) FROM <Table_name>;
Если вы просто положили UNCOMPRESS(<COLUMN_NAME>)
, вы можете щелкнуть правой кнопкой мыши по блоку и нажать "Открыть значение в редакторе".
Ответ 8
Я собрал вместе несколько других постов, так как исправление "предпочтений" на рабочем месте не помогло мне. (WB 6.3)
SELECT CAST('column' AS CHAR(10000) CHARACTER SET utf8) FROM 'table';
Ответ 9
есть несколько вещей, которые вы можете сделать
SELECT GROUP_CONCAT(CAST(name AS CHAR))
FROM product
WHERE id IN (12345,12346,12347)
Если вы хотите заказать по запросу, вы можете заказать его, а также ниже
SELECT GROUP_CONCAT(name ORDER BY name))
FROM product
WHERE id IN (12345,12346,12347)
как говорится в этом блоге
http://www.kdecom.com/mysql-group-concat-blob-bug-solved/
Ответ 10
ПРИМЕЧАНИЕ. Предыдущие ответы здесь не особенно полезны, если большой двоичный объект представляет собой произвольную последовательность байтов; например, BINARY (16) для хранения 128-битного GUID или контрольной суммы md5.
В этом случае в настоящее время нет предпочтений редактора - хотя я уже отправил запрос на добавление функции - см. Этот запрос для более подробного объяснения.
[До тех пор, пока не будет реализован этот запрос функции], решением является HEX
функция в запросе: SELECT HEX(mybinarycolumn) FROM mytable
.
Альтернативой является использование phpMyAdmin вместо MySQL Workbench - там по умолчанию отображается hex.
Ответ 11
select CONVERT((column_name) USING utf8) FROM table;
В моем случае Workbench не работает. поэтому я использовал вышеупомянутое решение для отображения данных BLOB-объектов в виде текста.
Ответ 12
SELECT *, CONVERT (UNCOMPRESS (столбец) ИСПОЛЬЗОВАНИЕ "utf8" ) AS column FROM имя_таблицы