對普通的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

 
            
                分享題目:都是navicat的錯-創新互聯
                
                分享URL:http://www.yijiale78.com/article40/docoho.html
            
成都網站建設公司_創新互聯,為您提供響應式網站、網站導航、App設計、全網營銷推廣、定制網站、網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
