都是navicat的错
对普通的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的错
文章出自:http://myzitong.com/article/gcsdgd.html