mysql - 有没有办法在不破坏外键依赖关系的情况下将 MySQL 数据库导出到 SQL 文件?

标签 mysql database

我有一个包含 170 多个表的大型数据库架构,其中许多表依赖于其他表。例如,customersemployees两者都有一个 person_id这是指 people 中的记录表。

我希望能够生成 baseline.sql创建所有这些表的文件,并填充默认值。我只是导出了一个所有格式正确的现有数据库,但是因为生成的 baseline.sql文件只是按字母顺序生成表格,我最终遇到了类似 customers 的问题和 employees指向 people谁还不存在(因为 C<E<P ,按字母顺序排列)。

有没有办法在考虑必要的建表和填充顺序的同时导出数据库?

我知道外键可以递归或以其他方式导致问题,但考虑到我的数据集没有这些实例以及这个问题的可能共性,我觉得在我重新发明轮子之前可能有一些简单的事情。

最佳答案

将此添加到您的 sql 文件的开头:

SET foreign_key_checks = 0;

在最后添加:

SET foreign_key_checks = 1;

关于mysql - 有没有办法在不破坏外键依赖关系的情况下将 MySQL 数据库导出到 SQL 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34670772/

相关文章:

php - SQLSTATE[42S22] : Column not found: 1054 Unknown column in lumen

Android - 打开 SQLite 数据库

mysql - 主机不允许连接

mysql - 此 SQL 条件会排除 NULL 值吗?

c# - 创建多个对象单个 LINQ EF 方法

MySQL Union查询duplicate/group by问题

python - Django+MySQL - "Authentication plugin ' caching_sha2_password'无法加载”

PHP:将字符串日期存储为MySQL日期格式,但存储的日期竟然是1969-12-31

php - not in function PHP 中的多个条件

mysql - 在 MySQL Workbench 中创建连接时遇到问题