作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 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 个字符后被截断。
如何为临时列设置/增加此值?
最佳答案
在调用SELECT
查询之前,您可以为group_concat_max_len
设置最大值到最大可能值,对于这个特定的 session :
SET SESSION group_concat_max_len = @@max_allowed_packet;
来自 Docs :
The result is truncated to the maximum length that is given by the group_concat_max_len system variable, which has a default value of 1024. The value can be set higher, although the effective maximum length of the return value is constrained by the value of max_allowed_packet.
关于MySQL 列长度最大为 1026 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53298261/
我是一名优秀的程序员,十分优秀!