我正在使用 mysqldump 共享数据库转储,但我遇到了触发器问题。该命令不会添加带有触发器的“删除”或“替换”行,使得已经添加具有相同触发器名称的先前转储的人出现错误:
第 1420 行出现错误 1359 (HY000):触发器已存在
我在论坛上读到人们说这是 MySQL 缺少的功能,但所有帖子都是旧的,我想知道现在是否有办法做到这一点。
我知道有一种方法可以单独转储模式和数据,但我想保留一个转储来共享。
有一个 mysqldump 选项 --skip-triggers 您应该使用它来跳过触发器。
例如,使用 --skip-triggers,您可以将不包含
triggers的
apple
数据库的表的架构和数据导出到 backup.sql
,如下所示。 *默认情况下,触发器是通过隐式--triggers导出的,并且我的回答解释了如何完美导出数据库:
mysqldump -u john -p --skip-triggers apple > backup.sql