MySQL 唯一约束(Unique Key)是指所有记录中字段的值不能重复出现。例如,为 id 字段加上唯一性约束后,每条记录的 id 值都是唯一的,不能出现重复的情况。如果其中一条记录的 id 值为‘0001’,那么该表中就不能出现另一条记录的 id 值也为‘0001’。

唯一约束与主键约束相似的是它们都可以确保列的唯一性。不同的是,唯一约束在一个表中可有多个,并且设置唯一约束的列允许有空值,但是只能有一个空值。而主键约束在一个表中只能有一个,且不允许有空值。

比如,在用户信息表中,为了避免表中用户名重名,可以把用户名设置为唯一约束。

CREATE TABLE t
(
    id       INT(11) PRIMARY KEY,
    NAME     VARCHAR(22) UNIQUE,
    location VARCHAR(50)
);
DESC t;

在这里插入图片描述

删除唯一约束

ALTER TABLE t DROP INDEX `name`

再次查看表结构

DESC t

在这里插入图片描述

总结

  • 唯一约束可以保证列不重复
  • 删除唯一约束就是删除索引
  • 有唯一约束的列必然有索引

思考

  • 唯一约束和索引什么关系?

唯一键约束添加后,实际上建立了一个索引,将该索引删除后,就等于删除了联合唯一约束

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐