我有一个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.