MySQL の GROUP_CONCAT() の長さ制限の克服
MySQL の GROUP_CONCAT() 関数は、複数の行の値を 1 つの文字列に連結する便利な方法を提供します。ただし、この関数は結果の最大長が 1024 文字に制限されています。
group_concat_max_len パラメータを増やすとこの制限を拡張できますが、特定のサーバー環境ではこの解決策が利用できない場合があります。したがって、代替アプローチが必要です。
セッション スコープのパラメータ変更
サーバー パラメータの変更には制限があるにもかかわらず、セッション スコープの変更を使用できます。
SET SESSION group_concat_max_len = 1000000;
この一時的な設定は現在のセッションにのみ適用され、後続のセッションごとに繰り返す必要があります。このアプローチを使用すると、GROUP_CONCAT() 関数は、デフォルトの 1024 文字制限より長い文字列を生成できます。
使用例
「列」の値を連結するには「table」テーブルの列を「column」でグループ化しながら、以下を実行しますクエリ:
SET SESSION group_concat_max_len = 1000000; select group_concat(column) from table group by column
以上がMySQL の GROUP_CONCAT() の長さ制限を克服するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。