mysqldump丢失了外键约束的引用动作子句

时间:2019-03-04 08:58:00

标签: mysql

使用

转储后
mysqldump --no-data -h localhost -u root -p my_db | sed 's/ AUTO_INCREMENT=[0-9]*//g' > $DEST_FILE

部分外键约束丢失,如下所示:

原点:

  CONSTRAINT `fk_owner_id_app_group` FOREIGN KEY (`owner_id`) REFERENCES `app_user` (`app_user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT

之后:

CONSTRAINT `fk_owner_id_app_group` FOREIGN KEY (`owner_id`) REFERENCES `app_user` (`app_user_id`)

ON DELETE RESTRICT ON UPDATE RESTRICT部分丢失了。
导出过程中未发出错误或警告。
检查了mysqldump手册,没有找到任何相关选项。 https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html 有没有人经历过?这是mysqldump错误吗?

这里的环境是
适用于Linux(x86_64)的mysqldump版本10.13 Distrib 5.7.25
适用于Linux(x86_64)的mysql Ver 14.14 Distrib 5.7.25,使用EditLine包装器

1 个答案:

答案 0 :(得分:1)

简单的答案是,因为它还是默认值,所以将其省略。

来自manual

  
      
  • RESTRICT:拒绝父表的删除或更新操作。指定RESTRICT(或NO ACTION)与省略ON DELETE或ON UPDATE子句相同。
  •   
     

对于未指定的ON DELETE或ON UPDATE,默认操作始终为RESTRICT。