Последние учебники веб-разработки
 

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


SQL UNIQUE ограничений

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

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

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

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


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

Следующий SQL создает неповторимое ограничение на "P_Id" колонке , когда "Persons" создается таблица:

SQL Server / Oracle / MS Access:

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

MySQL:

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

Чтобы разрешить именование ограничение уникальности, а также для определения ограничений уникальности на несколько столбцов, используйте следующий синтаксис SQL:

MySQL / SQL Server / Oracle / MS Access:

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

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

Чтобы создать уникальное ограничение на "P_Id" колонку , когда таблица уже создана, используйте следующий SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (P_Id)

Чтобы разрешить именование ограничение уникальности, а также для определения ограничений уникальности на несколько столбцов, используйте следующий синтаксис SQL:

MySQL / SQL Server / Oracle / MS Access:

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

Для того, чтобы отбросить ограничение уникальности

Для того, чтобы отбросить ограничение уникальности, используйте следующий SQL:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID