mysql GROUP_CONCAT всегда возвращает blob. Я даже изменяю все group_concat_max_len = 100000000 справки? - PullRequest
0 голосов
/ 24 октября 2011

Я пробовал почти все учебники в интернете, пытаясь изменить group_concat_max_len, но в файле my.ini на wamp-сервере не было group_concat_max_len, и я выполняю следующие запросы, показывающие переменные, такие как 'group%';и SET @@ group_concat_max_len = 9999999;но он говорит, что какие-либо строки влияют, как я могу это исправить?Я не могу найти решение, пожалуйста, помогите

Я уже делаю запрос, но я не работаю. Он возвращает blob

SET GLOBAL group_concat_max_len=4096;
SELECT correo_id_correo, GROUP_CONCAT(destinatario_id_usuario SEPARATOR ',') FROM correo_has_usuario GROUP BY correo_id_correo;

Ответы [ 2 ]

2 голосов
/ 24 октября 2011

Согласно справочной странице для GROUP_CONCAT () :

Тип результата - TEXT или BLOB, если group_concat_max_len не меньше больше или равно 512, и в этом случае тип результата VARCHAR или VARBINARY.

Таким образом, увеличение group_concat_max_len не вернет VARCHAR или VARBINARY. Вам нужно уменьшить это.

1 голос
/ 19 марта 2016

Попробуйте это

SELECT concat(CONVERT(column1,char(8))," , ") AS id,
       group_concat(CONVERT(column2, CHAR(20)) separator '|') AS result 
FROM `tablename` 
WHERE 1 group by column1

Здесь CONVERT преобразует значение поля column1 в тип char.и функция CONVERT будет работать над ним.

Источник: Coderhub

...