您好,登錄后才能下訂單哦!
這篇文章主要講解了“使用group_concat需要注意什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習“使用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型,一定要轉(zhuǎn)換成char再拼起來,
否則在你執(zhí)行后(ExecuteScalar或者其它任何執(zhí)行SQL返回結(jié)果的方法)返回的將不是一個逗號隔開的串,
而是byte[]。
GROUP_CONCAT函數(shù)用于將多個字符串連接成一個字符串,在拼接成字符串時就會存在拼接長度的問題,mysql 默認的拼接最大長度為1024 個字節(jié),由于1024個字節(jié)會出現(xiàn)不夠用的情況,所以有時需要去根據(jù)情況進行修改,方式如下。
1、查看當前mysql group_concat_max_len
進入mysql狀態(tài),輸入:show variables like 'group_concat_max_len';
如果未曾修改會得到下面結(jié)果
2、修改mysql group_concat_max_len
a)、如果不方便重啟mysql 可以在mysql狀態(tài)通過命令設(shè)置,如:
SET GLOBAL group_concat_max_len = 102400;
SET SESSION group_concat_max_len = 102400;
通過方式1查看即可。
注:此種方式在mysql重啟后會讀取配置文件重新設(shè)置,會導(dǎo)致設(shè)置失效,所以建議依舊要修改配置文件
b)、修改配置文件:my.ini
在[mysqld]下新增配置:group_concat_max_len = 102400
重啟,通過方式1查看即可。
特別的,有時我們并不知需要多大的字節(jié)才能滿足需求,此種情況可以考慮不設(shè)置最大字節(jié)(即采用最大字節(jié)數(shù))即在配置文件設(shè)置group_concat_max_len=-1
感謝各位的閱讀,以上就是“使用group_concat需要注意什么”的內(nèi)容了,經(jīng)過本文的學(xué)習后,相信大家對使用group_concat需要注意什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。