mysql按字母顺序导出sql转储,这会导致导入期间出现外键约束错误
我的数据库(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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您希望在转储开始时禁用外键检查,然后在转储所有数据后启用它们:
You want to disable foreign key checks at start of the dump, and then enable them after all the data is dumped:
如果您使用 SQLYog,有可能会发生这种情况。使用此属性。
By any chance if you use SQLYog. Use this property.