SQL UNIQUE
Contrainte SQL UNIQUE
La contrainte UNIQUE identifie de manière unique chaque enregistrement dans une table de base de données.
Les contraintes UNIQUE et PRIMARY KEY fournissent des garanties d'unicité pour une colonne ou un ensemble de colonnes.
Les contraintes PRIMARY KEY ont automatiquement défini des contraintes UNIQUE.
Notez que vous pouvez avoir plusieurs contraintes UNIQUE par table, mais vous ne pouvez avoir qu'une seule contrainte PRIMARY KEY par table.
Contrainte SQL UNIQUE lors de CREATE TABLE
Le SQL suivant crée une contrainte UNIQUE sur la colonne "P_Id" lors de la création de la table "Persons" :
MySQL :
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255) ,
Adresse varchar(255),
Ville varchar(255),
UNIQUE (P_Id)
)
SQL Server/Oracle/MS Access :
(
P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Adresse varchar(255),
Ville varchar(255)
)
Pour nommer la contrainte UNIQUE et définir des contraintes UNIQUE pour plusieurs colonnes, veuillez utiliser la syntaxe SQL suivante :
MySQL/SQL Server/Oracle/MS Access :
(
P_Id int NOT NULL,
LastName varchar ( 255) NOT NULL,
Prénom varchar(255),
Adresse varchar(255),
Ville varchar(255),
CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
)
Contrainte SQL UNIQUE lorsque ALTER TABLE
Lorsque la table a été créée, si vous devez créer une contrainte UNIQUE sur la colonne "P_Id", veuillez utiliser ce qui suit SQL :
MySQL/SQL Server/Oracle/MS Access :
ADD UNIQUE (P_Id)
Pour nommer une contrainte UNIQUE et définir des contraintes UNIQUE pour plusieurs colonnes, utilisez la syntaxe SQL suivante :
MySQL / SQL Server / Oracle / MS Access :
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
Révoquer la contrainte UNIQUE
Si vous devez révoquer la contrainte UNIQUE, veuillez utiliser le code SQL suivant :
MySQL :
DROP INDEX uc_PersonID
SQL Server/Oracle/MS Access :
DROP CONSTRAINT uc_PersonID