1. 程式人生 > >MySQL group_concat設定group_concat_max_len

MySQL group_concat設定group_concat_max_len

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狀態通過命令設定,如:

  1. SET GLOBAL group_concat_max_len = 102400;
  2. SET SESSION group_concat_max_len = 102400;

通過方式1檢視即可。

注:此種方式在mysql重啟後會讀取配置檔案重新設定,會導致設定失效,所以建議依舊要修改配置檔案

b)、修改配置檔案:my.ini

[mysqld]下新增配置:group_concat_max_len = 102400


重啟,通過方式1檢視即可。

特別的,有時我們並不知需要多大的位元組才能滿足需求,此種情況可以考慮不設定最大位元組(即採用最大位元組數即在配置檔案設定group_concat_max_len=-1

此種情況可以通過方式1檢視結果如下:


注: 4294967295 = 2^32  - 1