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;