1.MYSQL在建外键后,会自动建一个同名的索引
2.而删除外键的时候,这个同名索引如果没被删,则MYSQL认为外键
所以你删除了外键,再查询,因为有同名索引在,因此还能看到,
如果再执行一次删除同名索引的存在,再查询外键,就看不到外键了
具体情况请参看以下文章:
回答2:
去除外键约束:
1.先使用show create table 表名; 找到外键约束名
2.再使用alter table drop foreign key
将外键去除掉后,使用desc查看表的结构,依旧可以看见外键的标记(MUL),
是因为设置外键时会创建一个索引,检查到索引还在,依旧会有外键标记(MUL)。
可以先使用show index from 表名 查看表中索引
然后使用drop index 索引名称 on 表名
删除掉索引就好了
本文详细解析了MYSQL中外键与同名索引之间的关系,解释了删除外键后为何仍能看到外键标记的现象,并提供了具体的操作步骤来彻底移除外键及其关联索引。

被折叠的 条评论
为什么被折叠?



