ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

解决mysql执行删除表中外键的语句,外键却仍然存在的问题

2021-04-14 19:02:06  阅读:231  来源: 互联网

标签:语句 index 外键 索引 stuinfo mysql table


笔者最近在学习尚硅谷的数据库课程时,又遇到了一个奇怪的小问题,但是老师在网课里却没有发现并解释如何去解决:

  1. 使用 `alter table` 语句删除外键约束:
    alter table stuinfo drop foreign key fk_stuinfo_major;

    Terminal显示语句执行成功:

  2. 但是当使用 `show index` 语句再次查看索引时却发现依然存在:
    show index from stuinfo;

原因是为什么呢?笔者经过搜索和阅读,找到了一种比较合理的解释:MYSQL在建外键后,会自动建一个同名的索引。而删除外键的时候,这个同名索引如果没被删,再查询就还能看到。如果再执行一次删除同名索引的存在,再查询外键,就看不到外键了。

alter table stuinfo drop index fk_stuinfo_major;

这时候再次查询就没有了!

在SQLyog里面查询也是一样的:

desc stuinfo;

参考链接:

https://blog.csdn.net/digitalkee/article/details/102595614

标签:语句,index,外键,索引,stuinfo,mysql,table
来源: https://blog.csdn.net/qq_31361913/article/details/115706077

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有