我的数据库(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/