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;