SQL UNIQUE
UNIQUE
Ограничение UNIQUE гарантирует, что все значения в столбце будут разными.
Как ограничения UNIQUE, так и ограничения PRIMARY KEY обеспечивают гарантию уникальности для столбца или набора столбцов.
Ограничение первичного ключа автоматически имеет уникальное ограничение.
Однако в каждой таблице может быть много уникальных ограничений, но только одно ограничение первичного ключа для каждой таблицы.
Ограничение UNIQUE в CREATE TABLE
Следующий SQL создает уникальное ограничение для столбца "ID" при создании таблицы "Persons":
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
ID int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
MySQL:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID)
);
Чтобы назвать уникальное ограничение и определить уникальное ограничение для нескольких столбцов, используйте следующий синтаксис SQL:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID,LastName)
);
Ограничение UNIQUE в ALTER TABLE
Чтобы создать уникальное ограничение для столбца "ID", когда таблица уже создана, используйте следующий синтаксис SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD UNIQUE (ID);
Чтобы назвать уникальное ограничение и определить уникальное ограничение для нескольких столбцов, используйте следующий синтаксис SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
Ограничение UNIQUE с DROP
Чтобы удалить уникальное ограничение, используйте следующий SQL:
MySQL:
ALTER TABLE Persons
DROP INDEX UC_Person;
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;