对普通的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:https://www.cdcxhl.com/article40/docoho.html
成都网站建设公司_创新互联,为您提供响应式网站、网站导航、App设计、全网营销推广、定制网站、网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联