2015-02-22 4 views
0

Я создал представление, которое имеет столбец со значением длиной более 1500 символов. Но когда создается представление, длина столбца составляет 343 символа.Создано представление MySQL имеет низкую длину столбца

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` 
SQL SECURITY INVOKER 
VIEW `table_view` AS 
    select 
     concat("[", 
      group_concat(
       concat(
        '{"column1":"',`column1`, 
        '","column2":"',`column2`, 
        '","column3":"',`column3`, 
        '","column4":"',`column4`, 
        '","column5":"',`column5`,'"}' 
       ) 
      ), 
      "]" 
     ) as `Big_column` 
    from `Table`; 

Возможно ли увеличить его в созданном виде?

ответ

1

Функция GROUP_CONCAT() имеет максимальную длину результата, управляемую системной переменной group_concat_max_len. Вы можете прочитать об этом here.

Вы можете регулировать его длину с

SET group_concat_max_len = 2048 

или аналогичной командой. Попробуйте ввести большее значение для этой переменной.

Но ваше представление пытается упаковать все строки таблицы в один столбец. Это кажется странным.

+0

Это не странно, я нацелен на создание объекта JSON. Я проверил 'group_concat_max_len', и он установлен в' 1024'. Тем не менее длина столбца равна '343'. –

Смежные вопросы