mysql按字母顺序导出sql转储,这会导致导入期间出现外键约束错误

发布于 2024-08-26 05:14:33 字数 768 浏览 4 评论 0原文

我的数据库(MySQL)中有 10 个表。其中两个如下

tbl_state

state_id    |int(10)  |UNSIGNED ZEROFILL  auto_increment 
state_name  |varchar(40) 

tbl_city

city_id     |int(10)  |UNSIGNED ZEROFILL  auto_increment 
city_name   |varchar(40) |
state_code  |int(10)  | UNSIGNED ZEROFILL (FK reference with tbl_state.state_id)

外键约束: tbl_city.state_code 是对 tbl_state 的引用.state_id 。

现在我的问题是,

当我导出所有表并再次导入时,它会给出

外键约束失败错误...... 因为当我导出 mysql dump 时,sql dump 是在按字母顺序排列的表中生成的 并且 tbl_city 在数据库中位于 tbl_state 之前。

请建议我如何处理这种情况?

有什么方法可以让所有表都按外键引用的顺序排列吗?

I have 10 tables in my database(MySQL). two of them is given below

tbl_state

state_id    |int(10)  |UNSIGNED ZEROFILL  auto_increment 
state_name  |varchar(40) 

tbl_city

city_id     |int(10)  |UNSIGNED ZEROFILL  auto_increment 
city_name   |varchar(40) |
state_code  |int(10)  | UNSIGNED ZEROFILL (FK reference with tbl_state.state_id)

Foreign Key Constraint : tbl_city.state_code is references to tbl_state.state_id .

now my problem is

when I export all tables and import again then it gives

foreign key constraint fails error....
because when I export mysql dump, sql dump is generated in alphabetically ordered tables
and tbl_city comes before tbl_state in database.

Please suggest me how do I handle this scenario?

Is there any way that all tables comes in the order of foreign key references?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

北风几吹夏 2024-09-02 05:14:33

您希望在转储开始时禁用外键检查,然后在转储所有数据后启用它们:

SET FOREIGN_KEY_CHECKS=0

... dump ...

SET FOREIGN_KEY_CHECKS=1

You want to disable foreign key checks at start of the dump, and then enable them after all the data is dumped:

SET FOREIGN_KEY_CHECKS=0

... dump ...

SET FOREIGN_KEY_CHECKS=1
妄司 2024-09-02 05:14:33

如果您使用 SQLYog,有可能会发生这种情况。使用此属性。在此处输入图像描述

By any chance if you use SQLYog. Use this property.enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文