Chiave SQL PRIMARY KEY
❮ Riferimento alle parole chiave SQL
CHIAVE PRIMARIA
Il PRIMARY KEY
vincolo identifica in modo univoco ogni record in una tabella.
Una tabella può avere una sola chiave primaria, che può essere costituita da uno o più campi.
CHIAVE PRIMARIA SQL su CREATE TABLE
Il seguente SQL crea una CHIAVE PRIMARIA nella colonna "ID" quando viene creata la tabella "Persone":
MySQL:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
SQL Server/Oracle/Accesso MS:
CREATE TABLE Persons
(
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
Per consentire la denominazione di un vincolo PRIMARY KEY e per definire un vincolo PRIMARY KEY su più colonne, utilizzare la seguente sintassi 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)
);
Nota: nell'esempio sopra c'è solo UNA CHIAVE PRIMARIA (PK_Person). Tuttavia, il VALORE della chiave primaria è composto da DUE COLONNE (ID + Cognome).
CHIAVE PRIMARIA SQL su ALTER TABLE
Per creare un vincolo PRIMARY KEY sulla colonna "ID" quando la tabella è già stata creata, utilizzare il seguente SQL:
MySQL/SQL Server/Oracle/MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (ID);
Per consentire la denominazione di un vincolo PRIMARY KEY e per definire un vincolo PRIMARY KEY su più colonne, utilizzare la seguente sintassi SQL:
MySQL/SQL Server/Oracle/MS Access:
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);
Nota: se si utilizza l'istruzione ALTER TABLE per aggiungere una chiave primaria, le colonne della chiave primaria devono essere già state dichiarate per non contenere valori NULL (quando la tabella è stata creata per la prima volta).
RILASCIA un vincolo CHIAVE PRIMARIA
Per eliminare un vincolo PRIMARY KEY, utilizzare il seguente SQL:
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY;
SQL Server/Oracle/Accesso MS:
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;
❮ Riferimento alle parole chiave SQL