唯壹約束
SQL中唯壹約束是防止在特定的列中有相同的兩個紀錄值,也就是說它是用來保證每個記錄都有壹個唯壹的標識,使得該列上沒有重復的值。表的主鍵就是壹個唯壹性約束,不過主鍵只能有壹個,所以如果其他列的數據不允許重復的話,就可以建立唯壹性約束。
創建唯壹約束
例如,下面的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;