Руководство по SQL. Констрейнт UNIQUE.

Констрейнт UNIQUE используется для того, чтобы предотвратить наличие двух одинаковых значений в указанной колонке.

Частый пример, когда в одной таблице не может быть двух записей с одинаковым идентификатором (ID).

Пример:

Предположим, что у нас есть таблица developers, и мы хотим добавить в неё записи 10 разработчиков.

Для того, чтобы в нашей таблице не было двух записей с одинаковыми идентификаторами (ID), наша таблица должна иметь следующий вид:


CREATE TABLE developers(
       ID   INT               NOT NULL UNIQUE,
       NAME VARCHAR (100)     NOT NULL,
       SPECIALTY VARCHAR(100) NOT NULL,       
       SALARY  INT            NOT NULL,
       PRIMARY KEY (ID)
);

Теперь, RDBMS не позволит нам добавить двух разработчиков с одинаковыми данными.
Если таблица developers уже существует, то для того, чтобы добавить констрейнт UNIQUE в RDBMS MySQL к колонке ID, мы должны использовать следующую команду:


ALTER TABLE developers
   MODIFY ID INT NOT NULL UNIQUE;

Мы также можем добавить данный констрейнт к нескольким полям, таким образом:


ALTER TABLE developers
   ADD CONSTRAINT someUniqueConstraint UNIQUE(ID, NAME);

Для удаления констрейнта UNIQUE мы должны использовать команду, указанную ниже:


ALTER TABLE CUSTOMERS
   DROP INDEX ID_Unique;

На этом мы заканчиваем изучение констрейнта UNIQUE.