我有一个包含 170 多个表的大型数据库架构,其中许多表依赖于其他表。例如,customers
和 employees
两者都有一个 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/