SQL — Обмеження UNIQUE

465

Від автора: обмеження SQL UNIQUE вказує, що в одному стовпці не можуть зберігатися дві однакові записи. Наприклад, ви можете заборонити зазначення у таблиці CUSTOMERS однакового віку для двох і більше осіб.

Приклад

Наступний SQL-запит створює таблицю CUSTOMERS і додає в неї п’ять стовпців. Для стовпця AGE задано обмеження UNIQUE, тому для двох записів не може бути задано однаковий вік.

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 вже створена, додайте обмеження UNIQUE для стовпця AGE. Вам потрібно створити інструкцію подібну тій, що наведена в блоці коду нижче.

ALTER TABLE CUSTOMERS
MODIFY AGE INT NOT NULL UNIQUE;

Ви також можете використовувати наступний синтаксис, який підтримує іменування обмежень в декількох стовпцях.

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

Видалення обмеження UNIQUE

Щоб видалити обмеження UNIQUE, використовуйте наступний SQL-запит.

ALTER TABLE CUSTOMERS
DROP CONSTRAINT myUniqueConstraint;

Якщо ви працюєте з MySQL, ви можете використовувати наступний синтаксис:

ALTER TABLE CUSTOMERS
DROP INDEX myUniqueConstraint;