我正在使用mysqldump分享数据库转储,但是我遇到了触发器的问题。该命令没有添加“drop”或“replace”语句与触发器一起使用,导致已经添加了具有相同触发器名称的先前转储的人出现错误:
ERROR 1359 (HY000) at line 1420: Trigger already exists
我在论坛上看到人们说这是mysql的一个缺失功能,但所有帖子都很旧,我想知道现在是否有办法做到。
我知道有一种方法可以分别转储模式和数据,但我想保持单个转储以便共享。
我正在使用mysqldump分享数据库转储,但是我遇到了触发器的问题。该命令没有添加“drop”或“replace”语句与触发器一起使用,导致已经添加了具有相同触发器名称的先前转储的人出现错误:
ERROR 1359 (HY000) at line 1420: Trigger already exists
我在论坛上看到人们说这是mysql的一个缺失功能,但所有帖子都很旧,我想知道现在是否有办法做到。
我知道有一种方法可以分别转储模式和数据,但我想保持单个转储以便共享。
您没有指定版本。mysqldump 5.6 及以上版本有 --add-drop-trigger
选项。
apple
数据库的表的架构和数据导出到backup.sql
,而不包括其触发器,如下所示。默认情况下,触发器会通过隐式--triggers导出,而我的回答解释了如何完美地导出数据库。mysqldump -u john -p --skip-triggers apple > backup.sql