溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用group_concat需要注意什么

發(fā)布時間:2021-10-12 15:29:55 來源:億速云 閱讀:196 作者:iii 欄目:編程語言

這篇文章主要講解了“使用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è)置,如:

 
  1. SET GLOBAL group_concat_max_len = 102400;

  2.  

  3. 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)注!

向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI