我的数据库(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 dump时,在按字母顺序排列的表中会生成sql dump
并且 tbl_city 在数据库中的 tbl_state 之前。

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

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

最佳答案

您要在转储开始时禁用外键检查,然后在转储所有数据后将其启用:

SET FOREIGN_KEY_CHECKS=0

... dump ...

SET FOREIGN_KEY_CHECKS=1

关于mysql export sql dump alphabatically,这在导入期间导致外键约束错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2507839/

10-12 02:06