SQL PRIMARY KEYConstraints
SQL PRIMARY KEY-Einschränkung
Der PRIMARY KEY-Constraint identifiziert jeden Datensatz in einer Datenbanktabelle eindeutig.
PRIMARY KEY muss eindeutige Werte enthalten und darf keine NULL-Werte enthalten.
Jede Tabelle kann nur einen PRIMARY KEY haben, der aus einer einzelnen Spalte oder mehreren Spalten bestehen kann.
SQL PRIMARY KEY-Constraint bei CREATE TABLE
Das folgende SQL erstellt einen PRIMARY KEY-Constraint für die Spalte "P_Id", wenn die Tabelle "Persons" erstellt wird:
MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
Um eine PRIMARY KEY-Constraint zu benennen und eine PRIMARY KEY-Constraint für mehrere Spalten zu 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 pk_PersonID PRIMARY KEY (P_Id,LastName)
)
Hinweis:Im obigen Beispiel gibt es nur einen PRIMARY KEY (pk_PersonID). Der Wert von pk_PersonID setzt sich jedoch aus zwei Spalten zusammen (P_Id und LastName).
SQL PRIMARY KEY-Constraint bei ALTER TABLE
Wenn die Tabelle bereits erstellt wurde, verwenden Sie folgenden SQL-Befehl, um eine PRIMARY KEY-Constraint für die Spalte "P_Id" zu erstellen:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons ADD PRIMARY KEY (P_Id)
Um eine PRIMARY KEY-Constraint zu benennen und eine PRIMARY KEY-Constraint für mehrere Spalten zu definieren, verwenden Sie die folgende SQL-Syntax:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
Hinweis:Wenn Sie die ALTER TABLE-Anweisung verwenden, um einen Primärschlüssel hinzuzufügen, müssen Sie die Primärschlüsselspalte als keine NULL-Werte enthaltend deklarieren (als die Tabelle ursprünglich erstellt wurde).
PRIMARY KEY-Constraint löschen
Um eine PRIMARY KEY-Constraint zu löschen, verwenden Sie folgenden SQL-Befehl:
MySQL:
ALTER TABLE Persons DROP PRIMARY KEY
SQL Server / Oracle / MS Access:
ALTER TABLE Persons DROP CONSTRAINT pk_PersonIDAndere Erweiterungen