對(duì)普通的mysql賬號(hào),在navicat12上建立的連接,在界面上雙擊執(zhí)行函數(shù),報(bào)參數(shù)不對(duì),
成都創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)成都營(yíng)銷(xiāo)網(wǎng)站建設(shè)、網(wǎng)站重做改版、番禺網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為番禺等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。而用root賬號(hào)連接是執(zhí)行該函數(shù)正常的
錯(cuò)誤如下:
Procedure execution failed
Incorrect number of arguments for FUNCTION we_newrs.func_nextval; expected 1, got 0
英文意思是調(diào)用function參數(shù)的個(gè)數(shù)錯(cuò)誤,需要一個(gè),給0個(gè)。
開(kāi)始還以為是這個(gè)賬號(hào)沒(méi)執(zhí)行 execute 權(quán)限,授權(quán)了好幾遍,flush了好幾次,都沒(méi)用
后來(lái),在命令行下,執(zhí)行: select fun_xxxx('xxx'); 是ok的,才知道這個(gè)原來(lái)是navicat的問(wèn)題。
navicat12 執(zhí)行sql/保存function/procedure,有錯(cuò)誤時(shí)返回的信息提示錯(cuò)誤代碼,不提示錯(cuò)誤位置。讓你的工作難度加大10倍。還不如命令行。
另外權(quán)限的變更,要做的兩件事
3.1 服務(wù)器上記得flush privileges; 讓你變更寫(xiě)入權(quán)限表
3.2 要重啟應(yīng)用, 對(duì)于已經(jīng)連接到數(shù)據(jù)庫(kù)的應(yīng)用程序,權(quán)限變更不會(huì)生效。
比如你授權(quán)了execute權(quán)限,應(yīng)用程序還是報(bào)execute command denied to user xxx