MYSQL: concat_ws函数拼接使用问题

CONCAT()函数用于将多个字符串连接成一个字符串。
例如:
CONCAT_WS('|',a,b, c) as aa
可以设置a,b,c这三个字段以"|"符号进行拼接
现有需求,用户角色功能模块,登陆时返回用户的角色及功能,便于菜单权限的展示
这里用户角色功能都是多对多的关系,用户可能有多个角色,每个角色可能拥有不同的功能
所以这里使用CONCAT()函数进行拼接,返回多个角色及多个功能
但是在测试过程中发现返回的拼接部分数据缺失,最后查询了好多资料
CONCAT()函数拼接返回的字符串长度是有限制的,默认长度限制1024,超出的会被截取
可以修改长度,但需要修改数据库配置,由于在公司没有权限修改数据库配置
解决方案:限制用户的角色数量,对重复的功能进行筛选,避免超长

你可能感兴趣的:(MYSQL)