SQL UNIQUE 约束

UNIQUE 约束用来标志一个数据表中的唯一一列。它与Primary key类似,但也有不同:

  • Primary Key 约束自动就是 Unique 约束
  • 一个表中只能有一个Primary Key 约束,但可以有多个 Unique 约束

创建表时加入UNIQUE约束:

SQL Server

CREATE TABLE Users
(
    UserID int NOT NULL UNIQUE ,
    FirstName varchar(100) NOT NULL,
    LastName varchar(100) NOT NULL 
)

My SQL

CREATE TABLE Users
(
    UserID int NOT NULL,
    FirstName varchar(100) NOT NULL,
    LastName varchar(100) NOT NULL,
    UNIQUE (UserID )
)

你也可以建立由多个列组成的 Unique 约束:
My SQL / SQL Server / Oracle

CREATE TABLE Users
(
    UserID int NOT NULL,
    FirstName varchar(100) NOT NULL,
    LastName varchar(100) NOT NULL,
    CONSTRAINT uc_UserFullName UNIQUE (FirstName, LastName )
)

使用 ALTER TABLE 建立 UNIQUE 约束:

SQL Server / MySQL / Oracle / MS Access:

    ALTER TABLE Users
    ADD UNIQUE (UserID)

UNIQUE 约束可以由多个列组成:
SQL Server / MySQL / Oracle / MS Access:

    ALTER TABLE Users
    ADD CONSTRAINT uc_UserFullName UNIQUE (FirstName, LastName )

删除 UNIQUE 约束:

SQL Server:

    ALTER TABLE Users
    DROP CONSTRAINT uc_UserFullName

My SQL:

    ALTER TABLE Users
    DROP INDEX uc_UserFullName