admin管理员组文章数量:1568354
我在工作中有个定时任务查询订单什么什么的,然后我用的group_contact将订单号进行拼接,发现拼出来的字符串总是到最后一条数据不完整,我可能就猜到了可能这个订单太多了被截取了,果然把结果取出来,发现只有长1024,一百度,原来是group_contact默认长度为1024,如果非要全部显示的话,就需要去修改MySQL的配置文件(Windows下为my.ini ----- Linux下myf):
#需要设置的长度
group_concat_max_len = 18446744073709551615
如果问我为什么这个值,请看https://www.jb51/article/136480.htm
重启mysql服务
使用sql:show variables like 'group_concat_max_len';
检查一下设置值是否生效
第二种:(如果是生产环境,不能重启,可以通过sql命令临时修改,mysql服务再次重启后失效,执行命令:)
可以使用sql语句设置:
SET GLOBAL group_concat_max_len=5120;
SET SESSION group_concat_max_len=5120;
但是我想的是还是算了,我一次性少查一点吧,就用limit限制一下,结果emmmm。。。不生效>.<
咋肥事.....
又百度...
找到了overflow(对于程序员,这是个好东西呀,基本有问题找他都能解决,最大困难全英文,没事,幸好我英语一般般)
答案也就是在group_contact外层再加一个函数进行截取substring_index
substring_index(group_concat(s.title SEPARATOR ','), ',', 3) as skills
本文标签: 有个Contactmysqlgroupcontactgroupmysql
版权声明:本文标题:mysql contact group_mysql使用group_contact有个很坑的 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1726639971a1079534.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论