SQL UNIQUEEinschränkungen

UNIQUEConstraints in SQL werden verwendet, um sicherzustellen, dass alle Werte in einer oder mehreren Spalten eindeutig sind, was bedeutet, dass es in den Spalten, auf die die Einschränkung angewendet wird, keine doppelten Werte geben kann.

UNIQUEÄhnlich wie der PRIMARY KEY (PRIMARY KEY)-Einschränkung, aberUNIQUEDie UNIQUE-Einschränkung erlaubt, dass Werte in der SpalteNULL, während der PRIMARY KEY dies nicht tut.

Die PRIMARY KEY-Einschränkung bringt die Funktionalität der UNIQUE-Einschränkung mit sich.

Jede Tabelle kann mehrere UNIQUE-Einschränkungen haben, kann aber nur eine PRIMARY KEY-Einschränkung definieren.

Verwendungsszenarien

  • Eindeutigkeit sicherstellen: Stellen Sie beispielsweise sicher, dass Felder wie E-Mail-Adressen, Benutzernamen usw. in der gesamten Tabelle eindeutig sind.
  • Auf mehrere Spalten anwenden: Sie können eineUNIQUEEinschränkung auf mehreren Spalten erstellen, um die Eindeutigkeit kombinierter Werte sicherzustellen.

SQL UNIQUE-Einschränkung bei CREATE TABLE

Beim Erstellen einer Tabelle können Sie eine UNIQUE-Einschränkung für eine bestimmte Spalte oder mehrere Spalten definieren, um sicherzustellen, dass die Werte in diesen Spalten innerhalb der Tabelle eindeutig sind.

In der Tabelle "Persons"P_IdSpalte, fügen SieUNIQUEConstraint

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 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)
);

UNIQUEConstraint hinzu und definieren Sie ihn für mehrere Spalten

Um einen Namen für den UNIQUE-Constraint anzugeben und ihn auf mehrere Spalten anzuwenden, können Sie die folgende Syntax verwenden:

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)
);

UNIQUE-Constraint mit ALTER TABLE hinzufügen

Wenn die Tabelle bereits existiert, können Sie die ALTER TABLE-Anweisung verwenden, um der angegebenen Spalte einen UNIQUE-Constraint hinzuzufügen.

Zur Spalte "P_Id" hinzufügenUNIQUEConstraint

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (P_Id);

BenennungUNIQUEConstraint und auf mehrere Spalten anwenden

Um einen UNIQUE-Constraint zu benennen und einen UNIQUE-Constraint für mehrere Spalten zu definieren, verwenden Sie die folgende SQL-Syntax:

MySQL / SQL Server / Oracle / MS Access:

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


UNIQUE-Constraint löschen

Wenn Sie einen UNIQUE-Constraint entfernen müssen, können Sie die folgende SQL-Anweisung verwenden:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID;

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID;
Andere Erweiterungen