课程
/数据库
/MySQL
/与MySQL的零距离接触
删除约束为什么是DROP INDEX ,index 不是索引么?
2015-11-24
源自:与MySQL的零距离接触 3-7
正在回答
如果说我们要删除一个unique key ,但是这个unique key在一张表中有很多个,这时候我们单纯的写drop unique key系统不知道的要删除的是哪一个,会全部删除,这不是我们想要的结果,好在的是每一个约束都存在一个名字,你可以吧把ndex理解成约束的名字,这样我们就可以指定删除某个约束了;
查看index :
SHOW INDEXES FROM table name;
admxj 提问者
fangshuiyu
在你建立unique约束的同时系统会给你自动建立一个同名的索引,在删除unique约束的时候你直接去删除索引就可以了,只有unique约束可以这样使用。在删除主键和外键的时候还是要删除约束的,值得注意的是删除外键之后,由于创建外键的时候系统也自动创建了一个同名索引,删除外键索引还在,为了避免查询表结构的时候产生混乱,在删除外键之后最后顺带着连同索引一起删除。
PyBird
可是这样解释合理吗?后面有指定约束的名称啊!alter table 表名 drop index 名字;
举报
本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识