mysql 如何添加多字段的唯一约束

  1. SQL UNIQUE 约束也称“唯一约束”,设置了 UNIQUE 约束的字段,每条记录的值都必须是唯一的,因此 UNIQUE 约束可以防止两条记录在某个字段上出现重复值。
  2. UNIQUE 可以约束表的一个字段,也可以约束多个字段。此外,设置了 UNIQUE 约束的字段可以出现 NULL 值。
  3. UNIQUE 和 PRIMARY KEY 的区别

    • UNIQUE(唯一约束)和 PRIMARY KEY(主键)非常相似,但是 UNIQUE 允许字段中出现一次 NULL 值,而 PRIMARY KEY 不允许出现 NULL 值,因为可以认为:

      PRIMARY KEY = UNIQUE +  NOT NULL

一张表可以包含多个 UNIQUE 字段,但是只能有一个主键。

CREATE TABLE website (
    id      INT              NOT NULL   AUTO_INCREMENT,
    name    VARCHAR(20)      NOT NULL,
    url     VARCHAR(30),
    age     TINYINT UNSIGNED NOT NULL,
    alexa   INT UNSIGNED     NOT NULL   UNIQUE,
    uv      FLOAT                       DEFAULT '0',
    country CHAR(3)          NOT NULL,
    PRIMARY KEY (`id`)
);

如果已经创建了 website 表,则可以通过 ALTER TABLE 语句将 UNIQUE 约束添加到 alexa 字段,代码如下:

ALTER TABLE website
MODIFY alexa INT UNSIGNED NOT NULL UNIQUE;

如果您希望为多个字段添加 UNIQUE 约束,则可使用下面的语法:

ALTER TABLE website
ADD CONSTRAINT myUniqueConstraint UNIQUE(alexa, url);
  • 4.删除 UNIQUE 约束

可以使用下面的 SQL 语句来删除 UNIQUE 约束:

ALTER TABLE website
DROP CONSTRAINT myUniqueConstraint;

如果您使用的是 MySQL,那么应该修改为如下的语句:

ALTER TABLE website
DROP INDEX myUniqueConstraint;

 

posted @ 2023-06-30 17:22  苹果芒  阅读(724)  评论(0编辑  收藏  举报