1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 为什么在mysql执行删除表中外键的语句 外键却仍然存在? [问题点数:40分]

为什么在mysql执行删除表中外键的语句 外键却仍然存在? [问题点数:40分]

时间:2020-02-16 19:33:53

相关推荐

为什么在mysql执行删除表中外键的语句 外键却仍然存在? [问题点数:40分]

1.MYSQL在建外键后,会自动建一个同名的索引

2.而删除外键的时候,这个同名索引如果没被删,则MYSQL认为外键

所以你删除了外键,再查询,因为有同名索引在,因此还能看到,

如果再执行一次删除同名索引的存在,再查询外键,就看不到外键了

具体情况请参看以下文章:

回答2:

去除外键约束:

1.先使用showcreatetable表名;找到外键约束名

2.再使用altertabledropforeignkey

将外键去除掉后,使用desc查看表的结构,依旧可以看见外键的标记(MUL),

是因为设置外键时会创建一个索引,检查到索引还在,依旧会有外键标记(MUL)。

可以先使用showindexfrom表名查看表中索引

然后使用dropindex索引名称on表名

删除掉索引就好了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。