Каково максимальное значение для group_concat_max_len в MySQL?

Я использую group_concat, чтобы объединить много строк в один.

Я установил группу concat в 10000, используя:

SET group_concat_max_len = 10000;

Но даже тогда мои выходные ячейки остаются неполными и заканчиваются...

Я попытался установить group_concat_max_len = 20000, и даже это не помогло.

Я также попытался установить group_concat_max_len на 99999999. Он по-прежнему не заполняет мой выходной текст. И я проверил одну из групп concat останавливается на длине = 230 символов, а затем дает...

Есть ли другой способ?

Ответ 1

Посмотрите эту ссылку: https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_group_concat_max_len

Все переменные конфигурации MySQL задокументированы на этой странице с данными, такими как минимальное, максимальное, значение по умолчанию, можно ли их установить глобально или за сеанс, можно ли их изменить на работающем экземпляре или потребовать перезагрузки, и другое описание использования.

Максимальное значение для group_concat_max_len - 18446744073709551615.

Строка group-concat не заканчивается на "...". Если вы пытаетесь сгруппировать слишком много текста, оно просто усекается. Поэтому я задаюсь вопросом, не проблема ли с настройками MySQL, а с отображением ваших ячеек.

Ответ 2

Для 32-битных систем максимальное значение - 4294967295

Для 64-битных систем максимальное значение - 18446744073709551615.

Вы можете установить переменную для текущего сеанса, используя

SET SESSION group_concat_max_len=4294967295;

Чтобы установить переменную навсегда, используйте

SET GLOBAL group_concat_max_len=4294967295;

(см. http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_group_concat_max_len)