Ograniczenie klucza podstawowego SQL
Ograniczenie klucza podstawowego SQL
Ograniczenie PRIMARY KEY
jednoznacznie identyfikuje każdy rekord w tabeli.
Klucze podstawowe muszą zawierać wartości UNIQUE i nie mogą zawierać wartości NULL.
Tabela może mieć tylko JEDEN klucz podstawowy; aw tabeli ten klucz podstawowy może składać się z jednej lub wielu kolumn (pól).
SQL PRIMARY KEY w CREATE TABLE
Poniższy kod SQL tworzy PRIMARY KEY
kolumnę „ID” podczas tworzenia tabeli „Osoby”:
MySQL:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
Serwer SQL / Oracle / MS Access:
CREATE TABLE Persons
(
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
Aby zezwolić na nazywanie PRIMARY KEY
ograniczenia i zdefiniować
PRIMARY KEY
ograniczenie na wielu kolumnach, użyj następującej składni SQL:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);
Uwaga: W powyższym przykładzie jest tylko JEDNA
PRIMARY KEY
(PK_Person). Jednak WARTOŚĆ klucza podstawowego składa się z DWÓCH KOLUMN (ID + LastName).
SQL PRIMARY KEY w ALTER TABLE
Aby utworzyć PRIMARY KEY
ograniczenie dla kolumny „ID”, gdy tabela jest już utworzona, użyj następującego kodu SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (ID);
Aby zezwolić na nazywanie PRIMARY KEY
ograniczenia i zdefiniować
PRIMARY KEY
ograniczenie na wielu kolumnach, użyj następującej składni SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);
Uwaga: Jeśli używasz ALTER TABLE
do dodawania klucza podstawowego, kolumny klucza podstawowego muszą być zadeklarowane jako niezawierające wartości NULL (podczas tworzenia tabeli).
UPUŚĆ OGRANICZENIE KLUCZU PODSTAWOWEGO
Aby usunąć PRIMARY KEY
ograniczenie, użyj następującego kodu SQL:
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY;
Serwer SQL / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;