-
UNIQUE vs. PRIMARY KEY
Bonjour,
Je ne sais pas trop la différence entre UNIQUE et PRIMAREY KEY
tout ce que je sais c'est que j'ai créer un champ UNIQUE (sous MySQL)
que j'ai mis en clé primaire.
Donc
Code:
CREATE TABLE `toto` (`id` INT (4) UNIQUE, CONSTRAINT PRIMARY KEY (`id`)) ;
mais phpmyadmin m'averti que la table contient deux index
ça veut dire quoi ?
-
La clé primaire d'une table est par essence unique puisqu'elle permet d'identifier chaque ligne de la table. Elle peut porter sur une ou plusieurs colonnes. Elle sert de référence par défaut pour les contraintes de clé étrangère sur d'autres tables.
Par ailleurs, il est possible de définir un contrainte d'unicité sur d'autres colonnes que la clé primaire de la table.
Exemple : une table comportant un identifiant numérique en clé primaire et un libellé dont on souhaite qu'il soit unique. Les références externes s'effectuent sur la clé primaire qui peut être cachée à l'utilisateur, qui ne verra que le libellé.
L'erreur que te rapporte ton SGBD doit sans doute correspondre au fait que tu crées deux index équivalents sur la même colonne.
-