vendredi 25 septembre 2026

À propos

Contact

Lexique · Bases de données

Clé primaire

En anglais : « Primary key »

Colonne ou combinaison de colonnes identifiant de façon unique chaque ligne d'une table, ne pouvant contenir ni doublon ni valeur nulle.

Quand deux articles portent exactement le même titre, ce qui les distingue réellement pour la base de données n’a rien à voir avec leur contenu : c’est un simple entier, invisible dans l’éditeur, qui garantit qu’on parle toujours de la bonne ligne.

L’identifiant auto-incrémenté, pilier des tables WordPress

Presque toutes les tables du cœur suivent le même schéma : une colonne ID (ou {table}_id) déclarée BIGINT UNSIGNED avec l’attribut AUTO_INCREMENT, incrémentée automatiquement à chaque insertion. C’est cette valeur, wp_posts.ID par exemple, qui sert de point d’ancrage à toutes les relations : métadonnées, commentaires, taxonomies.

MySQL et MariaDB créent automatiquement un index unique sur cette colonne, ce qui rend les recherches par identifiant systématiquement rapides, quelle que soit la taille de la table.

Exemple

CREATE TABLE wp_avis (
  id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  note TINYINT NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB;

Bon à savoir

  • Une clé primaire peut porter sur plusieurs colonnes à la fois (clé composite), utile par exemple pour une table de liaison qui ne doit jamais contenir deux fois la même paire de valeurs.
  • Changer le type d’une colonne servant de clé primaire sur une table volumineuse peut être une opération longue et bloquante : à planifier hors des heures de forte affluence.
  • Ne confondez pas cette notion avec un index unique classique : une table ne peut avoir qu’une seule clé primaire, mais autant d’index uniques que nécessaire.
  • Sur une table InnoDB, les lignes sont physiquement rangées sur le disque selon l’ordre de cette clé : un identifiant croissant et séquentiel favorise donc de meilleures performances d’écriture qu’une valeur aléatoire.