GROUP_CONCAT () mysql возвращает ограниченные символы

У меня две таблицы

tblColorLibrary

id   name
1     test color

tblColors

id  libraryId  colorCode  name
1     1           #fff     Prime Color
2     1           #ddd     Secondry Color
3     1           #E2CFC7  Favorite Color

Ниже мой запрос:

$stmt ="SELECT a.id, a.isActive as isActive, a.name as title, GROUP_CONCAT(b.colorCode ) as colors, GROUP_CONCAT(b.name) as name FROM ".$this->tblLibrary." as a JOIN tblcolors as b ON a.id = b.libraryId GROUP BY a.id ORDER BY b.id ASC";

Этот запрос вернет такой результат

Array
(
[0] => Array
(
[id] => 1
[isActive] => Y
[title] => test
[colors] => #fff,#ddd,#E2CFC7
[name] => Prime Color, Secondry Color, Favorite Color
)

)

Все идет хорошо, пока у меня есть ограниченные записи. Когда у меня есть более 150 записей в tblColors, имя ключа дает только ограниченное количество символов. Не получаю полных записей.

Я думаю, что в группе concat будет ограничение.

0

Решение

Увеличьте ваш group_concat_max_len в базе данных mysql. по умолчанию он установлен на 1024. вы можете обновить его с помощью запроса

SET GLOBAL group_concat_max_len=100000

а также

SET SESSION group_concat_max_len = 1000000;
1

Другие решения

Проверьте значение group_concat_max_len и увеличьте его при необходимости.

show variables like 'group_concat_max_len';
1

По вопросам рекламы [email protected]