phpMyAdmin で関数を作成しています - エラー: アクセスが拒否されました。これを行うにはスーパー権限が必要です
いくつかの MySQL 関数をphpMyAdmin を実行しましたが、「#1227 - アクセスが拒否されました。この操作を実行するにはスーパー権限が必要です。」というエラーが発生しました。
この問題を解決するには、次の点を確認してください:
スーパー権限
デフォルトでは、スーパー権限を持つユーザーのみが関数を作成できます。スーパー ユーザーでない場合は、データベース管理者にこの権限を申請してください。
DEFINER 句
関数の DEFINER 句で特定のユーザーを指定する場合、そのユーザーはスーパー権限または CREATE ROUTINE 権限を持っている必要があります。この権限要件を回避するには、ステートメントから DEFINER 句を削除します。例:
<code class="sql">CREATE FUNCTION `f_calc_gst`(p_ht decimal(15,3), p_province varchar(2)) RETURNS varchar(255) CHARSET utf8</code>
Delimiter
phpMyAdmin で複数行の SQL クエリを実行する場合、区切り文字フィールドを設定する必要があります。 SQL テキスト ボックスの下にある [区切り文字] フィールドを見つけて、使用する区切り文字を入力します。たとえば、セミコロンを区切り文字として使用します:
<code class="sql">DELIMITER ; CREATE FUNCTION `f_calc_gst`(p_ht decimal(15,3), p_province varchar(2)) RETURNS varchar(255) CHARSET utf8</code>
以上がphpMyAdmin で関数を作成するときに「アクセスが拒否されました。この操作には(スーパー)権限が必要です」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。