Констрейнт 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.