小编mep*_*ips的帖子

mysql删除没有表副本的外键

我有一个InnoDB表claims,有大约2.4亿行.该表有一个外键约束:CONSTRAINT FK78744BD7307102A9 FOREIGN KEY (ID) REFERENCES claim_details (ID).我想尽快删除表claim_details.

基于一些实验,似乎如果我使用SET foreign_key_checks = 0;drop claim_details然后重新启用外键,即使表不再存在,mysql也将继续强制执行约束.所以,我相信我必须从表中删除约束.

我试图使用ALTER TABLE claims DROP FOREIGN KEY FK78744BD7307102A9删除约束,并且查询已处于"复制到tmp表"状态超过24小时(在没有其他负载的计算机上).我不明白为什么删除约束需要制作表的副本.有什么方法可以防止这种情况吗?

mysql版本5.1.48.

mysql foreign-keys alter-table

5
推荐指数
2
解决办法
4134
查看次数

标签 统计

alter-table ×1

foreign-keys ×1

mysql ×1