Gli ultimi tutorial di sviluppo web
 

SQL PRIMARY KEY Vincolo


SQL PRIMARY KEY Vincolo

Il vincolo PRIMARY KEY identifica in modo univoco ogni record in una tabella di database.

Le chiavi primarie devono contenere valori unici.

Una colonna chiave primaria non può contenere valori NULL.

La maggior parte delle tabelle devono avere una chiave primaria, e ogni tabella può avere una sola chiave primaria.


SQL PRIMARY KEY vincolo su CREATE TABLE

Il seguente SQL crea una chiave primaria nella "P_Id" colonna quando il "Persons" si crea tabella:

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

Per consentire nomina di un vincolo PRIMARY KEY, e per la definizione di un vincolo PRIMARY KEY su più colonne, utilizzare la seguente sintassi SQL:

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

Note: Nell'esempio precedente vi è solo una chiave primaria (pk_PersonID). Tuttavia, il valore della chiave primaria è composta da due colonne (P_Id + LastName).


SQL PRIMARY KEY vincolo su ALTER TABLE

Per creare un vincolo PRIMARY KEY sulla "P_Id" colonna quando il tavolo è già stato creato, utilizzare il seguente SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)

Per consentire nomina di un vincolo PRIMARY KEY, e per la definizione di un vincolo PRIMARY KEY su più colonne, utilizzare la seguente sintassi SQL:

MySQL / SQL Server / Oracle / MS Access:

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

Note: Se si utilizza l'istruzione ALTER TABLE per aggiungere una chiave primaria, la colonna chiave primaria (s) deve essere già stato dichiarato di non contenere valori NULL (quando il tavolo è stato creato per primo).


Per eliminare un vincolo PRIMARY KEY

Per eliminare un vincolo PRIMARY KEY, utilizzare il seguente SQL:

MySQL:

ALTER TABLE Persons
DROP PRIMARY KEY

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID