SQL PRIMARY KEY constraint

SQL PRIMARY KEY constraint

PRIMARY KEY-begränsningen unikt identifierar varje enskilt post i databastabellen.

Huvudnyckeln måste innehålla unika värden.

Huvudnyckelspalten får inte innehålla NULL-värden.

Varje tabell bör ha en huvudnyckel och varje tabell kan bara ha en huvudnyckel.

PRIMARY KEY-begränsning vid CREATE TABLE

Följande SQL skapar PRIMARY KEY-begränsningen i kolonnen "Id_P" när tabellen "Persons" skapas:

MySQL:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (Id_P)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

Om du behöver namnge PRIMARY KEY-begränsningen och definiera PRIMARY KEY-begränsningar för flera kolonner, använd följande SQL-syntax:

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 pk_PersonID PRIMARY KEY (Id_P,LastName)
)

SQL PRIMARY KEY-begränsning på ALTER TABLE

Om du skapar en PRIMARY KEY-begränsning för "Id_P"-kolumnen när tabellen redan finns, använd följande SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (Id_P)

Om du behöver namnge PRIMARY KEY-begränsningen och definiera PRIMARY KEY-begränsningar för flera kolonner, använd följande SQL-syntax:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)

Kommentar:Om du använder ALTER TABLE-satsen för att lägga till en huvudnyckel, måste du deklarera huvudnyckelspalten som inte innehåller NULL-värden (vid skapandet av tabellen för första gången).

Häva PRIMARY KEY-begränsningen

Om du vill häva PRIMARY KEY-begränsningen, använd följande SQL:

MySQL:

ALTER TABLE Persons
DROP PRIMARY KEY

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID