昨天程序员在用insert into 往表里插入数据时,报“The user specified as a definer ('root'@'%') does not exist”错,通过一系列排查以后发现,原来以前的触发器定义以下:
Definer: root@%mysql
因为root权限已回收,给程序员新开使用的用户名是smsdev,致使mysql认为如今的用户在触发器上没有定义,以后让程序员update了一下该表的触发器:程序员
Definer: root@%--〉 Definer: smsdev@%sql
更新以后,再往表里插入数据,就恢复正常了。数据库
可能使用到的mysql命令以下:ide
mysql> show procedure status; //查看数据库中的存储过程;函数
mysql> show function status; //查看数据库中的函数;orm
mysql> show triggers\G; //查看数据库中的触发器;ci
mysql> show table status where comment='view'; //查看视图;it
mysql> select * from information_schema.VIEWS limit 4\G;io