mysql - mysqldump 丢失了外键约束的引用动作子句
问题描述
转储后
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 错误吗?
这里的环境是。
mysqldump Ver 10.13 Distrib 5.7.25,适用于 Linux (x86_64)
mysql Ver 14.14 Distrib 5.7.25,适用于使用 EditLine 包装器的 Linux (x86_64)
解决方案
简单的答案是,它被省略了,因为无论如何它都是默认值。
从手册:
- RESTRICT:拒绝对父表的删除或更新操作。指定 RESTRICT(或 NO ACTION)与省略 ON DELETE 或 ON UPDATE 子句相同。
对于未指定的 ON DELETE 或 ON UPDATE,默认操作始终是 RESTRICT。
推荐阅读
- android - 在运行时防止应用程序代码中的应用程序更新
- xamarin.forms - Xamarin Form 中的水平和垂直滚动
- node.js - NPM 在 docker 容器中从 github 安装一些东西失败
- python - Django 表单集和文件
- arrays - 在一个写时钟周期内读取多个块 RAM 索引
- javascript - 当自更新道具发生变化时如何进行反应组件更新?
- avro - 我可以限制 avro-tools 读取的行数吗?
- php - 未通过中间件时来自节流请求的 TypeError
- php - 从数据库结果 PHP 构建 JSON
- swift - 在 Swift 中创建一个以可变整数作为输入的平方数数组