Vincolo UNICO SQL
Vincolo UNICO SQL
Il UNIQUE
vincolo garantisce che tutti i valori in una colonna siano diversi.
Entrambi i vincoli UNIQUE
e
PRIMARY KEY
forniscono una garanzia di unicità per una colonna o un insieme di colonne.
Un PRIMARY KEY
vincolo ha automaticamente un
UNIQUE
vincolo.
Tuttavia, puoi avere molti UNIQUE
vincoli per tabella, ma solo un
PRIMARY KEY
vincolo per tabella.
Vincolo SQL UNIQUE su CREATE TABLE
Il seguente SQL crea un UNIQUE
vincolo sulla colonna "ID" quando viene creata la tabella "Persone":
SQL Server/Oracle/Accesso MS:
CREATE TABLE Persons
(
ID int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
MySQL:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID)
);
Per denominare un UNIQUE
vincolo e per definire un
UNIQUE
vincolo 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 UC_Person UNIQUE (ID,LastName)
);
Vincolo SQL UNIQUE su ALTER TABLE
Per creare un UNIQUE
vincolo sulla colonna "ID" quando la tabella è già stata creata, utilizzare il seguente SQL:
MySQL/SQL Server/Oracle/MS Access:
ALTER TABLE Persons
ADD UNIQUE (ID);
Per denominare un UNIQUE
vincolo e per definire un
UNIQUE
vincolo su più colonne, utilizzare la seguente sintassi SQL:
MySQL/SQL Server/Oracle/MS Access:
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
RILASCIA un vincolo UNICO
Per eliminare un UNIQUE
vincolo, utilizzare il seguente SQL:
MySQL:
ALTER TABLE Persons
DROP INDEX UC_Person;
SQL Server/Oracle/Accesso MS:
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;