SQL UNIQUE Constraint
Die UNIQUE-Einschränkung eindeutig identifiziert jeden Datensatz in einer Datenbanktabelle.
Die einzigartige und Primärschlüssel-Bedingungen sowohl eine Garantie für die Einzigartigkeit für eine Spalte oder eine Gruppe von Spalten.
Ein PRIMARY KEY-Einschränkung hat automatisch eine eindeutige Einschränkung für sie definiert.
Beachten Sie, dass Sie viele UNIQUE-Einschränkungen pro Tisch haben, aber nur einen Primärschlüssel pro Tabelle definiert.
SQL UNIQUE Constraint auf CREATE TABLE
Die folgende SQL erstellt eine eindeutige Einschränkung für die "P_Id" Spalte , wenn die "Persons" Tabelle erstellt wird:
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)
)
Zur Benennung einer UNIQUE-Einschränkung zu erlauben und für eine UNIQUE-Einschränkung auf mehrere Spalten definieren, verwenden Sie die folgende SQL-Syntax:
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 Constraint auf ALTER TABLE
Um eine eindeutige Einschränkung für die schaffen "P_Id" Spalte , wenn die Tabelle bereits erstellt wird, verwenden Sie die folgende SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD UNIQUE (P_Id)
Zur Benennung einer UNIQUE-Einschränkung zu erlauben und für eine UNIQUE-Einschränkung auf mehrere Spalten definieren, verwenden Sie die folgende SQL-Syntax:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
Um DROP UNIQUE Constraint
Um eine UNIQUE-Einschränkung zu löschen, verwenden Sie die folgende SQL:
MySQL:
ALTER TABLE Persons
DROP INDEX uc_PersonID
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID