一時セッション設定による MySQL の GROUP_CONCAT() の長さ制限の克服
GROUP_CONCAT() は、複数の行の値を連結するための MySQL の貴重な関数です。単一の文字列。ただし、デフォルトの最大長 1024 文字には制限があります。 group_concat_max_len パラメータを増やすことは一般的に知られている解決策ですが、そのようなパラメータ調整が許可されていない場合はどのようなオプションが利用可能ですか?
クエリ結果を連結するための代替方法
group_concat_max_len パラメータは使用できません。連結を実現する別の方法は、一時的なセッション スコープ設定を使用することです。 SET SESSION コマンドを使用すると、現在のセッションの長さ制限を一時的に増やすことができます。
実装
この方法を使用するには、次の手順に従います。
例
説明のために、次の例を考えてみましょう。
SET SESSION group_concat_max_len = 1000000; SELECT GROUP_CONCAT(column) FROM table GROUP BY column;
この例では、セッション スコープの最大長が一時的に 100 万文字に設定されます。後続の GROUP_CONCAT() 操作は、この拡張制限内で発生し、より多くの値を連結できるようになります。
重要な注意
この調整はのみに適用されることを覚えておくことが重要です。現在のセッションに移行します。後続のセッションでは、SET SESSION コマンドが再度実行されるまで、元のデフォルトの長さ制限が有効になります。
以上がグローバル設定を変更せずに MySQL の GROUP_CONCAT() の長さ制限を克服するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。