Ograniczenie UNIQUE w SQL

Ograniczenie UNIQUE w SQL

Konwersja UNIQUE unikalnie identyfikuje każda rekord w tabeli bazy danych.

Konwersje UNIQUE i PRIMARY KEY zapewniają unikalność dla kolumn lub zbiorów kolumn.

PRIMARY KEY ma automatycznie zdefiniowaną unikalną konwersję.

Proszę zauważyć, że każda tabela może mieć wiele unikalnych konwersji, ale może mieć tylko jedną konwersję PRIMARY KEY.

UNIQUE Constraint na CREATE TABLE SQL

Poniższy SQL tworzy unikalną konwersję w kolumnie "Id_P" podczas tworzenia tabeli "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)
)

Jeśli chcesz nazwać unikalne ograniczenie oraz zdefiniować unikalne ograniczenie dla wielu kolumn, użyj poniższego składni 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)
)

Unikalne ograniczenie SQL w ALTER TABLE

Gdy tabela została już utworzona, aby utworzyć unikalne ograniczenie w kolumnie "Id_P", użyj poniższego SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (Id_P)

Aby nazwać unikalne ograniczenie i zdefiniować unikalne ograniczenie dla wielu kolumn, użyj poniższego składni SQL:

MySQL / SQL Server / Oracle / MS Access:

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

Anuluj unikalne ograniczenie

Aby anulować unikalne ograniczenie, użyj poniższego SQL:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID