Longitud máxima de MySQL y GROUP_CONCAT()

Resuelto ZeWaren asked hace 14 años • 7 respuestas

Estoy usando GROUP_CONCAT()una consulta MySQL para convertir varias filas en una sola cadena. Sin embargo, la longitud máxima del resultado de esta función son 1024caracteres.

Soy muy consciente de que puedo cambiar el parámetro group_concat_max_lenpara aumentar este límite:

SET SESSION group_concat_max_len = 1000000;

Sin embargo, en el servidor que estoy usando, no puedo cambiar ningún parámetro. No utilizando la consulta anterior ni editando ningún archivo de configuración.

Entonces mi pregunta es: ¿Existe alguna otra forma de obtener el resultado de una consulta de varias filas en una sola cadena?

ZeWaren avatar Apr 02 '10 20:04 ZeWaren
Aceptado
SET SESSION group_concat_max_len = 1000000;

es una configuración temporal, de alcance de sesión. Solo se aplica a la sesión actual. Debes usarlo así.

SET SESSION group_concat_max_len = 1000000;
select group_concat(column) from table group by column

Puede hacer esto incluso compartiendo alojamiento, pero cuando use otra sesión, deberá repetir el SET SESSIONcomando.

keatkeat avatar Aug 21 '2013 04:08 keatkeat

El parámetro correcto para establecer la longitud máxima es:

SET @@group_concat_max_len = value_numeric;

value_numericdebe ser > 1024; por defecto el group_concat_max_lenvalor es 1024.

oscar avatar Mar 24 '2015 21:03 oscar