玖叶教程网

前端编程开发入门

mysql-group_concat限制问题

背景

在做业务统计的时候,我们会用到mysql的group_concat函数,如果数据量比较大的话,比如统计权限系统中某个角色下的都有哪些用户?这个时候你发现,用户名称莫名截断了,经排查,原来这个变量默认为1024长度。

解决方法

使用sql设置group_concat的最大长度, 但是这种方式在重启mysql后就无效。

//查看长度
show variables like 'group_concat_max_len'

//设置当前session,其他session连接不受影响
SET SESSION group_concat_max_len = 10240;
 
//设置全局,当前session不受影响,需要断开重连才生效
SET GLOBAL group_concat_max_len = 10240;

在MySQL配置文件中my.conf或my.ini中添加, 然后重启mysql服务。

#[mysqld]
group_concat_max_len=102400

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言