Contrainte UNIQUE SQL

Contrainte UNIQUE SQL

La contrainte UNIQUE identifie de manière unique chaque enregistrement dans la table de base de données.

Les contraintes UNIQUE et PRIMARY KEY fournissent une garantie d'unicité pour les colonnes ou les ensembles de colonnes.

La PRIMARY KEY possède une contrainte UNIQUE automatiquement définie.

Veuillez noter que chaque table peut avoir plusieurs contraintes UNIQUE, mais chaque table ne peut avoir qu'une seule contrainte PRIMARY KEY.

Contrainte UNIQUE en SQL lors de la création de la table

Le SQL suivant crée une contrainte UNIQUE sur la colonne "Id_P" lors de la création de la table "Persons":

MySQL :

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

SQL Server / Oracle / MS Access :

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

Si vous avez besoin de nommer une contrainte UNIQUE et de définir une contrainte UNIQUE sur plusieurs colonnes, utilisez la syntaxe SQL suivante :

MySQL / SQL Server / Oracle / MS Access :

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

Contrainte UNIQUE SQL sur ALTER TABLE

Lorsque la table a été créée, pour créer une contrainte UNIQUE sur la colonne "Id_P", utilisez le SQL suivant :

MySQL / SQL Server / Oracle / MS Access :

ALTER TABLE Persons
ADD UNIQUE (Id_P)

Pour nommer une contrainte UNIQUE et définir une contrainte UNIQUE sur plusieurs colonnes, utilisez la syntaxe SQL suivante :

MySQL / SQL Server / Oracle / MS Access :

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

Annuler la contrainte UNIQUE

Pour annuler une contrainte UNIQUE, utilisez le SQL suivant :

MySQL :

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access :

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID