SQL UNIQUE-Bedingung

SQL UNIQUE-Bedingung

Die UNIQUE-Bindung identifiziert jedes Eintrag in der Datenbanktabelle einzigartig.

Die UNIQUE- und PRIMARY KEY-Bindungen bieten eine Garantie für die Einzigartigkeit von Spalten oder Spaltenkombinationen.

PRIMARY KEY besitzt eine automatisch definierte UNIQUE-Bindung.

Bitte beachten Sie, dass jede Tabelle mehrere UNIQUE-Bindungen haben kann, aber nur eine PRIMARY KEY-Bindung.

UNIQUE-Bindung bei CREATE TABLE in SQL

Das folgende SQL erstellt eine UNIQUE-Bindung im "Id_P"-Feld beim Erstellen der "Persons"-Tabelle:

MySQL:

CREATE TABLE Personen
(
Id_P int NOT NULL,
Nachname varchar(255) NOT NULL,
Vorname varchar(255),
Adresse varchar(255),
Stadt varchar(255),
UNIQUE (Id_P)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Personen
(
Id_P int NOT NULL UNIQUE,
Nachname varchar(255) NOT NULL,
Vorname varchar(255),
Adresse varchar(255),
Stadt varchar(255)
)

Wenn Sie eine benannte UNIQUE-Bindung erstellen und eine UNIQUE-Bindung für mehrere Spalten definieren möchten, verwenden Sie die folgende SQL-Syntax:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Personen
(
Id_P int NOT NULL,
Nachname varchar(255) NOT NULL,
Vorname varchar(255),
Adresse varchar(255),
Stadt varchar(255),
CONSTRAINT uc_PersonID UNIQUE (Id_P, Nachname)
)

SQL UNIQUE Constraint auf ALTER TABLE

Wenn die Tabelle bereits erstellt wurde und Sie eine UNIQUE-Bindung in der Spalte "Id_P" erstellen möchten, verwenden Sie den folgenden SQL-Befehl:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Personen
ADD UNIQUE (Id_P)

Um eine benannte UNIQUE-Bindung zu erstellen und eine UNIQUE-Bindung für mehrere Spalten zu definieren, verwenden Sie die folgende SQL-Syntax:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Personen
ADD CONSTRAINT uc_PersonID UNIQUE (Id_P, Nachname)

UNIQUE-Bindung aufheben

Um eine UNIQUE-Bindung aufzuheben, verwenden Sie den folgenden SQL-Befehl:

MySQL:

ALTER TABLE Personen
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Personen
DROP CONSTRAINT uc_PersonID