MySQL クエリで複数の行を 1 つの文字列に変換するために使用していますGROUP_CONCAT()
。ただし、この関数の結果の最大長は1024
文字です。
group_concat_max_len
この制限を増やすためにパラメータを変更できることはよくわかっています。
SET SESSION group_concat_max_len = 1000000;
しかし、私が使用しているサーバーでは、パラメータを変更できません。前述のクエリを使用しても、構成ファイルを編集しても変更できません。
そこで質問ですが、複数行のクエリの出力を 1 つの文字列にまとめる他の方法はありますか?
ベストアンサー1
SET SESSION group_concat_max_len = 1000000;
一時的なセッションスコープの設定です。現在のセッションにのみ適用されます。次のように使用してください。
SET SESSION group_concat_max_len = 1000000;
select group_concat(column) from table group by column
共有ホスティングでもこれを行うことができますが、別のセッションを使用する場合は、コマンドを繰り返す必要がありますSET SESSION
。