Contrainte SQL UNIQUE
Contrainte SQL UNIQUE
La UNIQUE
contrainte garantit que toutes les valeurs d'une colonne sont différentes.
Les contraintes UNIQUE
et
PRIMARY KEY
garantissent l'unicité d'une colonne ou d'un ensemble de colonnes.
Une PRIMARY KEY
contrainte a automatiquement une
UNIQUE
contrainte.
Cependant, vous pouvez avoir plusieurs UNIQUE
contraintes par table, mais une seule
PRIMARY KEY
contrainte par table.
Contrainte SQL UNIQUE sur CREATE TABLE
Le SQL suivant crée une UNIQUE
contrainte sur la colonne "ID" lors de la création de la table "Persons" :
SQL Server/Oracle/MS Access :
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)
);
Pour nommer une UNIQUE
contrainte et définir une
UNIQUE
contrainte sur plusieurs colonnes, utilisez la syntaxe SQL suivante :
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)
);
Contrainte SQL UNIQUE sur ALTER TABLE
Pour créer une UNIQUE
contrainte sur la colonne "ID" alors que la table est déjà créée, utilisez le SQL suivant :
MySQL/SQL Server/Oracle/MS Access :
ALTER TABLE Persons
ADD UNIQUE (ID);
Pour nommer une UNIQUE
contrainte et définir une
UNIQUE
contrainte sur plusieurs colonnes, utilisez la syntaxe SQL suivante :
MySQL/SQL Server/Oracle/MS Access :
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
SUPPRIMER une contrainte UNIQUE
Pour supprimer une UNIQUE
contrainte, utilisez le SQL suivant :
MySQL :
ALTER TABLE Persons
DROP INDEX UC_Person;
SQL Server/Oracle/MS Access :
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;