The user specified as a definer ('aaa'@'localhost') does not exist
编程技术  /  houtizong 发布于 3年前   65
今天遇到一个客户BUG,当前的jdbc连接用户是root,然后部分删除操作都会报下面这个错误:The user specified as a definer ('aaa'@'localhost') does not exist
最后找原因发现删除操作做了触发器,而触发器里面有这样一句
/*!50017 DEFINER = ''aaa@'localhost' */
原来最初是使用aaa这个mysql连接导入数据,这时系统将触发器的创建者定义为aaa了,后面如果用root去调用触发器时就会被认为没有操作触发器的权限,所以就报上面的错误了。
解决方法是修改definer=root即可
下面可以查看该数据库有哪些触发器:
SHOW TRIGGERS FROM [数据库名] WHERE DEFINER = 'aaa@localhost'
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接