位置:首页 > 数据库 > SQL在线教程 > SQL唯一约束

SQL唯一约束

唯一约束防止在特定的列有相同的两个纪录值。 在CUSTOMERS表,例如,可能希望以防止两个或更多的人有相同的年龄。

实例:

例如,下面的SQL创建一个新的表名为CUSTOMERS,并添加了五列。在这里,AGE列设置为唯一的,所以不能有两个记录使用相同的年龄:

CREATE TABLE CUSTOMERS(
       ID   INT              NOT NULL,
       NAME VARCHAR (20)     NOT NULL,
       AGE  INT              NOT NULL UNIQUE,
       ADDRESS  CHAR (25) ,
       SALARY   DECIMAL (18, 2),       
       PRIMARY KEY (ID)
);

如果CUSTOMERS表已经创建,然后要将唯一约束添加到AGE列,类似如下的声明:

ALTER TABLE CUSTOMERS
   MODIFY AGE INT NOT NULL UNIQUE;

还可以使用下面的语法,它支持命名的多个列的约束:

ALTER TABLE CUSTOMERS
   ADD CONSTRAINT myUniqueConstraint UNIQUE(AGE, SALARY);

删除唯一约束:

要删除UNIQUE约束,请使用以下SQL:

ALTER TABLE CUSTOMERS
   DROP CONSTRAINT myUniqueConstraint;

如果正在使用MySQL,那么可以使用下面的语法:

ALTER TABLE CUSTOMERS
   DROP INDEX myUniqueConstraint;