錯誤:存取被拒絕:在phpMyAdmin 中建立函數
在phpMyAdmin 中執行SQL 查詢建立函數時,使用者可能會遇到查詢函數時,使用者可能會遇到「錯誤:存取被拒絕;您需要超級權限才能執行此操作」訊息。此錯誤源於權限要求。
識別問題
兩個主要問題可能導致此錯誤:
缺失5.0.3 及更高版本需要CREATE ROUTINE 權限才能執行CREATE PROCEDURE 和CREATE FUNCTION 查詢。
DEFINER 限制: DEFINER 屬性指定擁有權限的使用者預存程序或函數。如果 DEFINER 設定為受限用戶,則呼叫者必須擁有 SUPER 權限才能建立物件。
解決方案<code class="sql">CREATE FUNCTION `f_calc_gst`(p_ht decimal(15,3), p_province varchar(2)) RETURNS varchar(255) CHARSET utf8 ...</code>
刪除DEFINER 屬性:
要消除對SUPER 屬性:要消除對SUPER 權限的需要,請從SQL查詢中刪除DEFINER 屬性。這會將函數的所有權授予目前使用者。
以上是為什麼我在 phpMyAdmin 中建立函數時收到「錯誤:存取被拒絕;此操作需要超級權限」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!