Ограничение UNIQUE SQL

Ограничение UNIQUE SQL

Уникальное ограничение уникально идентифицирует каждую запись в таблице базы данных.

Уникальные и PRIMARY KEY ограничения обеспечивают уникальность для столбца или набора столбцов.

PRIMARY KEY автоматически определяет уникальное ограничение.

Обратите внимание, что каждая таблица может иметь несколько уникальных ограничений, но только одно ограничение PRIMARY KEY.

Уникальное ограничение SQL при создании таблицы

Ниже приведен SQL, который создает уникальное ограничение в столбце "Id_P" при создании таблицы "Persons":

MySQL:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (Id_P)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

Если нужно命名 Уникальное ограничение и определить Уникальное ограничение для нескольких столбцов, используйте следующий SQL синтаксис:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
)

Уникальное ограничение SQL в ALTER TABLE

Если таблица уже создана и нужно создать Уникальное ограничение в столбце "Id_P", используйте следующий SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (Id_P)

Если нужно命名 Уникальное ограничение и определить Уникальное ограничение для нескольких столбцов, используйте следующий SQL синтаксис:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

Отменить Уникальное ограничение

Если нужно отменить Уникальное ограничение, используйте следующий SQL:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID