ホームページ  >  記事  >  データベース  >  mysqlでgroup_conca関数の長さ制限を変更する方法

mysqlでgroup_conca関数の長さ制限を変更する方法

不言
不言オリジナル
2018-08-22 09:53:222151ブラウズ

この記事の内容は、mysql の group_conca 関数の長さ制限を変更する方法に関するものです。必要な方は参考にしていただければ幸いです。

mysql には「group_concat」という関数があります。通常の使用では問題が発生しないかもしれません。
実際、MYSQL にはこれに関する内部設定があります。デフォルトでは設定されていません。長さは 1024 です。これより大きくする必要がある場合は、手動で変更する必要があります。

group_concat を使用した後、select で limit が使用されている場合、機能しません

group_concat を使用してフィールドを接続する場合、長さには制限があり、シリーズ内の数ほど多くはありません。しかし、設定することはできます。

group_concat_max_len システム変数を使用して、許可される最大長を設定できます。

システムのデフォルトの区切り文字はカンマです

変更方法:

SET [SESSION | GLOBAL] group_concat_max_len = 10240

変更可能なパラメータは次のとおりです

GROUP_CONCATは、指定された文字に従って特定のフィールドの値を累積します。システムのデフォルトの区切り文字はカンマです。累積長さは 1024 バイトです。


1. まずは簡単な例を見てみましょう

select group_concat(f_a) from t_one group by f_b;

f_bによるグループクエリを実行し、各グループのf_aを蓄積します。


2. デフォルトの区切り文字を変更します

select group_concat(f_a  separator  '_') from t_one group by f_b;

separator はキーワードであり、その後に区切られる文字が続きます


3. デフォルトの文字サイズを変更します

1)

select group_concat(f_a order by f_a  separator  '_') from t_one group by f_b;

2) をファイルに追加して、ステートメントを実行し、スコープ

 group_concat_max_len = 102400 #你要的最大长度
を設定します。 concat と一緒に使用します

group_concat は、デフォルトで BLOB ラージ オブジェクトを返します。または、concat を使用して文字列を返すことができます。コンテンツを返してから、他のデータを追加できます。

関連する推奨事項:


mysql の大きなテーブルでの count() の使用と mysql での count() の最適化

mysql での無限分類のコード実装

以上がmysqlでgroup_conca関数の長さ制限を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。