0

MysqlError:アクセスが拒否されました。この操作にはSUPER特権(少なくとも1つ)が必要です

私の質問:

$sql = 'SELECT GROUP_CONCAT(field_one ORDER BY field_id SEPARATOR '-') AS field_ans FROM table_name';
  • field_one[最大450文字を格納しています]。
  • GROUP_CONCATを使用して、単一の列で複数の行の値を取得しようとしています。

注:phpmyadminで「SETGLOBAL group_concat_max_len=4096」を実行しないでください。PHPファイルを変更したい。

クエリでgroup_concatを使用しているので、そのクエリだけでgroup_concat_max_lenの値を「default:1024」から「4096」に増やしました。

$sql = "SET GLOBAL group_concat_max_len = 4096";

エラーを取り除く方法、ログファイルにエラーがありますか?

4

1 に答える 1

3

group_concat_max_lenデータベース全体(つまり、クエリ/セッションだけでなく)を変更しようとしていますが、これにはデータベース管理者権限が必要です。

セッション用に変更したいだけの場合は、代わりに;を使用してください。

SET SESSION group_concat_max_len=15000;

...これはセッションでのみ変更され、昇格された特権は必要ありません。

于 2013-02-26T13:34:48.080 に答える