« Table ‘base.wp_xxx’ doesn’t exist » : une table manque dans la base WordPress

Fiche du décodeur d'erreurs, mise à jour le 12 octobre 2026

GênantBase de données
Le message affiché
Table 'monsite.wp_options' doesn't exist
Autres formulations du même message 4
  • WordPress database error Table 'monsite.wp_actionscheduler_actions' doesn't exist for query SELECT a.action_id FROM wp_actionscheduler_actions a
  • #1146 - Table 'monsite.wp_options' doesn't exist
  • Table 'monsite.wp_posts' doesn't exist in engine
  • SQLSTATE[42S02]: Base table or view not found: 1146 Table 'monsite.wp_options' doesn't exist

Une requête vise une table que le serveur de base de données ne trouve pas. Le message donne le nom de la base puis celui de la table, par exemple monsite.wp_options. Selon la table, l’effet va d’une fonction en panne, quand il s’agit d’une table propre à une extension, à un site entièrement bloqué, quand c’est une table de WordPress.

Pourquoi cette erreur apparaît

  • Le préfixe indiqué par $table_prefix dans wp-config.php ne correspond pas à celui des tables présentes, souvent après une migration.
  • Une extension n’a pas créé ses tables à l’activation, ou ses tables n’ont pas été copiées lors d’un déménagement.
  • Un import de base interrompu n’a restauré qu’une partie des tables.
  • Un site déplacé d’un serveur Windows vers Linux, où les noms de tables deviennent sensibles aux majuscules.
  • Avec « doesn’t exist in engine », le fichier de données InnoDB de la table est perdu ou abîmé, par exemple après une copie brute des fichiers du serveur.

Comment corriger le problème

Lire le nom de la table

Le nom placé après le point indique qui est concerné : wp_posts, wp_options, wp_users ou wp_postmeta sont des tables de WordPress, alors qu’un nom comme wp_wc_orders appartient à WooCommerce, et wp_actionscheduler_actions à la bibliothèque Action Scheduler, que WooCommerce et bien d’autres extensions embarquent. Vérifiez aussi que le préfixe, wp_ dans ces exemples, est bien celui de votre site.

Réactiver l’extension propriétaire

Si la table appartient à une extension, désactivez-la puis réactivez-la : beaucoup d’extensions créent leurs tables à l’activation. WooCommerce propose en plus, dans État puis Outils, une vérification des tables de base de données.

Comparer le préfixe avec phpMyAdmin

Ouvrez la base dans phpMyAdmin et regardez le début des noms de tables. Il doit être identique, au caractère près, à la valeur de $table_prefix dans wp-config.php. Si les tables commencent par wpx7_ et que le fichier indique wp_, corrigez la ligne.

$table_prefix = 'wpx7_';

Restaurer les tables manquantes

Si une table de WordPress a disparu après un import raté, réimportez la sauvegarde complète plutôt que de recréer la table à la main. Faites-le de préférence dans une base vide, pour ne pas mélanger deux états du site.

Lister les tables présentes

Cette requête, à lancer dans l’onglet SQL de phpMyAdmin, liste les tables de la base. Face à « doesn’t exist in engine », n’essayez pas de recréer la table : la restauration d’une sauvegarde, ou l’aide de l’hébergeur, est la voie sûre.

SHOW TABLES;

Exportez la base avant de changer le préfixe ou de réimporter une sauvegarde, et gardez une copie de wp-config.php.

Le guide completLes erreurs de connexion à la base de données WordPress

Un autre message d'erreur ? Collez-le dans le décodeur : il le reconnaît et vous oriente vers la bonne fiche.

Ouvrir le décodeur