昨天程序員在用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