Максимальная длина столбца MySQL составляет 1026 символов
Мой запрос в MySQL использует group_concat
преобразовать значения в нескольких строках в один столбец.
SELECT
user_id,
group_concat(case when event = 'BORROWED' then book_id end
separator ' ') as borrowed_books
FROM library_events
Проблема, с которой я сталкиваюсь, заключается в том, что специальная колонка borrowed_books
в котором значения объединяются, становится максимальным в 1026 символов. Я также видел, что строка в столбце усекается после 1026 символов.
Как я могу установить / увеличить это значение для специального столбца?
1 ответ
Прежде чем позвонить SELECT
запрос, вы можете установить максимальное значение для group_concat_max_len
до максимально возможного значения, для этого конкретного сеанса:
SET SESSION group_concat_max_len = @@max_allowed_packet;
Из Документов:
Результат усекается до максимальной длины, заданной системной переменной group_concat_max_len, значение которой по умолчанию равно 1024. Значение может быть установлено выше, хотя эффективная максимальная длина возвращаемого значения ограничена значением max_allowed_packet.