记录一次批量删除mysql触发器
最近做bug复现的时候,需要将正式环境的数据库备份到本地,进行问题排查,但是正式环境的数据库被加了好多的触发器,导致本地一直报错。一个一个删,要300多个,平均一个表3个,一条一条删估计要好久,然后问了一下我们这边的x大佬。他秀了一把神操作:
SELECT CONCAT('DROP TRIGGER ', TRIGGER_NAME, ';') FROM information_schema.`TRIGGERS` WHERE TRIGGER_SCHEMA = 'db_name'
然后就是把查出来的结果导出来执行一遍。
ps:然后根据他的建议,我也想到了一个:
使用navicat将需要删除触发器的数据库跟本地没有触发器的数据库同步一下表结构。在执行的语句里面把触发器相关的拎出来不就可以==,如果你有什么更好的操作,欢迎留言

浙公网安备 33010602011771号