首页 > 数据库技术 > 详细

使用mysql函数 group_concat 一点需要注意的

时间:2014-07-18 12:07:02      阅读:412      评论:0      收藏:0      [点我收藏+]

这个函数是一个非常好用的函数,比如我们可以在 进行多对多关联表,进行批量查询的时候可以用到,

比如学生和老师是多对多的关系,如果我们希望查询 指定的一些老师对应的学生有哪些 的时候,一般的情况,我们可能会遍历teacher_id,来一个个获取对应的学生集合,这样的话,效率是很差的,但是有了group_concat函数,你可以不用这样,你可以使用如下方式进行获取

select teacher_id,group_concat(student_id) from teache_student_mapping where teacher_id in (teacher_id1,teacher_id2,teacher_id3) group by teacher_id

这样就获取到了每个老师对应的学生集合.

又比如,在使用lucene等全文检索搜索引擎中是不支持表关联的,所以要存储这种关联关系,一种做法就是将这些数据以某些特定的字符进行连接,而我们的数据来源往往都是数据库,这个时候,group_concat又派上用场了,用法还是和上面一样,我就不多说了

但是这里有一个隐藏的问题,就是group_concat组成的字符串是有长度限制的,之前一直不知道这个问题,具体可以通过

show VARIABLES like ‘group_concat_max_len‘来进行查询

如果要修改这个信息,可以通过

SET group_concat_max_len = 20000

修改当前会话该参数值

或者修改配置文件

group_concat_max_len = 102400

进行永久设置

改完配置文件记得重启数据库哦!

使用mysql函数 group_concat 一点需要注意的,布布扣,bubuko.com

使用mysql函数 group_concat 一点需要注意的

原文:http://www.cnblogs.com/coprince/p/3853049.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!