SQL - Vincolo UNICO
Il vincolo UNIQUE impedisce a due record di avere valori identici in una colonna. Nella tabella CLIENTI, ad esempio, potresti voler impedire a due o più persone di avere la stessa età.
Esempio
Ad esempio, la seguente query SQL crea una nuova tabella denominata CUSTOMERS e aggiunge cinque colonne. Qui, la colonna ETÀ è impostata su UNICO, quindi non puoi avere due record con la stessa età.
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL UNIQUE,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
Se la tabella CUSTOMERS è già stata creata, aggiungere un vincolo UNIQUE alla colonna AGE. Dovresti scrivere un'istruzione come la query che viene fornita nel blocco di codice sottostante.
ALTER TABLE CUSTOMERS
MODIFY AGE INT NOT NULL UNIQUE;
È inoltre possibile utilizzare la seguente sintassi, che supporta anche la denominazione del vincolo in più colonne.
ALTER TABLE CUSTOMERS
ADD CONSTRAINT myUniqueConstraint UNIQUE(AGE, SALARY);
ELIMINA un vincolo UNICO
Per eliminare un vincolo UNIQUE, utilizzare la seguente query SQL.
ALTER TABLE CUSTOMERS
DROP CONSTRAINT myUniqueConstraint;
Se stai usando MySQL, puoi usare la seguente sintassi:
ALTER TABLE CUSTOMERS
DROP INDEX myUniqueConstraint;