MYSQL DROP TRIGGER批量删除mysql触发器

原创 2=1     发表于  2020-10-27 16:31       795

记录一次批量删除mysql触发器

SELECT * FROM information_schema.triggers where trigger_schema=' 数据库名称  '

需要将正式环境的数据库备份到本地,进行问题排查,但是正式环境的数据库被加了好多的触发器,导致本地一直报错。一个一个删,要300多个,平均一个表3个,一条一条删估计要好久,秀一把神操作:

    SELECT
CONCAT( 'DROP TRIGGER', TRIGGER_NAME, ';' )
FROM
information_schema.`TRIGGERS`
WHERE
TRIGGER_SCHEMA = '数据库名称';

然后就是把查出来的结果导出来执行一遍。

ps:然后根据他的建议,我也想到了一个:

使用navicat将需要删除触发器的数据库跟本地没有触发器的数据库同步一下表结构。在执行的语句里面把触发器相关的拎出来不就可以==,如果你有什么更好的操作,欢迎留言215957956@qq.com