您好,登錄后才能下訂單哦!
對普通的mysql賬號,在navicat12上建立的連接,在界面上雙擊執行函數,報參數不對,
而用root賬號連接是執行該函數正常的
錯誤如下:
Procedure execution failed
Incorrect number of arguments for FUNCTION we_newrs.func_nextval; expected 1, got 0
英文意思是調用function參數的個數錯誤,需要一個,給0個。
開始還以為是這個賬號沒執行 execute 權限,授權了好幾遍,flush了好幾次,都沒用
后來,在命令行下,執行: select fun_xxxx('xxx'); 是ok的,才知道這個原來是navicat的問題。
navicat12 執行sql/保存function/procedure,有錯誤時返回的信息提示錯誤代碼,不提示錯誤位置。讓你的工作難度加大10倍。還不如命令行。
另外權限的變更,要做的兩件事
3.1 服務器上記得flush privileges; 讓你變更寫入權限表
3.2 要重啟應用, 對于已經連接到數據庫的應用程序,權限變更不會生效。
比如你授權了execute權限,應用程序還是報execute command denied to user xxx
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。