mysql列长度最大为1026个字符

ukdjmx9f  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(315)

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个字符后被截断。
如何设置/增加特设列的此值?

xlpyo6sf

xlpyo6sf1#

打电话之前 SELECT 查询时,可以设置 group_concat_max_len 最大可能值,对于此特定会话:

SET SESSION group_concat_max_len = @@max_allowed_packet;

来自文档:
结果将被截断为group concat\ U max\ U len系统变量给定的最大长度,该系统变量的默认值为1024。虽然返回值的有效最大长度受max\u allowed\u packet的值约束,但该值可以设置得更高。

相关问题