12

我的数据库(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的引用。

现在我的问题是

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

foreign key constraint fails error.... 因为当我导出 mysql 转储时,会在按字母顺序排列的表中生成 sql 转储,并且tbl_city在数据库中位于tbl_state之前。

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

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

4

2 回答 2

13

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

SET FOREIGN_KEY_CHECKS=0

... dump ...

SET FOREIGN_KEY_CHECKS=1
于 2010-03-24T13:11:53.163 回答
0

如果你使用 SQLYog 的话。使用此属性。在此处输入图像描述

于 2017-08-02T13:05:40.563 回答