Каково максимальное значение для 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)