十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
对普通的mysql账号,在navicat12上建立的连接,在界面上双击执行函数,报参数不对,
成都创新互联专注于企业成都营销网站建设、网站重做改版、番禺网站定制设计、自适应品牌网站建设、H5建站、商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为番禺等各大城市提供网站开发制作服务。而用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