使用group_concat需要注意什么
这篇文章主要讲解了“使用group_concat需要注意什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“使用group_concat需要注意什么”吧!
1、group_concat()有长度限制1024, 需要修改配置group_concat_max_len,如果超过大小会被截断;
2、group_concat()可以对这个组的值来进行排序再连接成字符串,
eg:GROUP_CONCAT(name ORDER BY id DESC)
3、group_concat()改变分隔符:
GROUP_CONCAT(name SEPARATOR '|||')
4、当你用group_concat的时候请注意,连接起来的字段如果是int型,一定要转换成char再拼起来,
否则在你执行后(ExecuteScalar或者其它任何执行SQL返回结果的方法)返回的将不是一个逗号隔开的串,
而是byte[]。
GROUP_CONCAT函数用于将多个字符串连接成一个字符串,在拼接成字符串时就会存在拼接长度的问题,mysql 默认的拼接最大长度为1024 个字节,由于1024个字节会出现不够用的情况,所以有时需要去根据情况进行修改,方式如下。
1、查看当前mysql group_concat_max_len
进入mysql状态,输入:show variables like 'group_concat_max_len';
如果未曾修改会得到下面结果
2、修改mysql group_concat_max_len
a)、如果不方便重启mysql 可以在mysql状态通过命令设置,如:
SET GLOBAL group_concat_max_len = 102400;
SET SESSION group_concat_max_len = 102400;
通过方式1查看即可。
注:此种方式在mysql重启后会读取配置文件重新设置,会导致设置失效,所以建议依旧要修改配置文件
b)、修改配置文件:my.ini
在[mysqld]下新增配置:group_concat_max_len = 102400
重启,通过方式1查看即可。
特别的,有时我们并不知需要多大的字节才能满足需求,此种情况可以考虑不设置最大字节(即采用最大字节数)即在配置文件设置group_concat_max_len=-1
感谢各位的阅读,以上就是“使用group_concat需要注意什么”的内容了,经过本文的学习后,相信大家对使用group_concat需要注意什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!