Gli ultimi tutorial di sviluppo web
 

SQL vincolo UNIQUE


SQL vincolo UNIQUE

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

I vincoli di chiave unici e primari sia fornire una garanzia di unicità per una colonna o un insieme di colonne.

Un vincolo PRIMARY KEY ha automaticamente un vincolo UNIQUE definito su di esso.

Si noti che si può avere molti vincoli unici al tavolo, ma solo un vincolo PRIMARY KEY per tabella.


SQL vincolo UNIQUE su CREATE TABLE

Il seguente SQL crea un vincolo UNIQUE sulla "P_Id" colonna quando il "Persons" si crea tabella:

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

MySQL:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (P_Id)
)

Per consentire la denominazione di un vincolo UNIQUE, e per la definizione di un vincolo UNIQUE 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 uc_PersonID UNIQUE (P_Id,LastName)
)

SQL vincolo UNIQUE su ALTER TABLE

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

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (P_Id)

Per consentire la denominazione di un vincolo UNIQUE, e per la definizione di un vincolo UNIQUE su più colonne, utilizzare la seguente sintassi SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

Per rilasciare un vincolo UNIQUE

Per eliminare un vincolo UNIQUE, utilizzare il seguente SQL:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID