Derniers tutoriels de développement web
 

SQL Contrainte unique


SQL UNIQUE Constraint

La contrainte UNIQUE identifie de façon unique chaque enregistrement dans une table de base de données.

Les contraintes unique et primary key à la fois fournir une garantie d'unicité pour une colonne ou un ensemble de colonnes.

Une contrainte de clé primaire a automatiquement une contrainte UNIQUE définie sur elle.

Notez que vous pouvez avoir de nombreuses contraintes uniques par table, mais une seule contrainte de clé primaire par table.


SQL UNIQUE Constraint sur CREATE TABLE

Le SQL suivante crée une contrainte UNIQUE sur le "P_Id" colonne lorsque le "Persons" table est créée:

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)
)

Pour permettre nommage d'une contrainte UNIQUE, et pour définir une contrainte UNIQUE sur plusieurs colonnes, utilisez la syntaxe SQL suivante:

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 UNIQUE Constraint sur ALTER TABLE

Pour créer une contrainte UNIQUE sur le "P_Id" colonne lorsque la table est déjà créé, utilisez l'instruction SQL suivante:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (P_Id)

Pour permettre nommage d'une contrainte UNIQUE, et pour 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 (P_Id,LastName)

Pour supprimer une contrainte unique

Pour supprimer une contrainte UNIQUE, utilisez l'instruction SQL suivante:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID