Cómo arreglar el error 'Table doesn't exist' en MySQL (WordPress y PrestaShop)
[INFO] Este artículo está pensado para que cualquier persona, aunque no sea una experta en informática, pueda entender y solucionar el molesto error de "Table doesn't exist" en sus tiendas online o blogs. Vamos a ir paso a paso, con un lenguaje claro y ejemplos prácticos.
¿Alguna vez has intentado entrar a tu página web y, en lugar de ver tu contenido, te encuentras con un mensaje de error que menciona algo sobre una "tabla" que no existe? Si tienes una web hecha con WordPress o una tienda online con PrestaShop, este es un problema más común de lo que parece. No te preocupes, no has perdido tus datos ni tu sitio web para siempre. En la gran mayoría de los casos, este error tiene una solución sencilla que puedes aplicar tú mismo siguiendo esta guía.
El mensaje de error, que en inglés verás como table doesn't exist mysql, es la forma que tiene la base de datos de decirte que está buscando un archivo de información específico (una "tabla") y no lo encuentra. Imagina que tu web es una biblioteca enorme. Los libros son tus artículos, productos o comentarios, y las estanterías son las "tablas". Si alguien te pide un libro de una estantería que ha sido movida o borrada por error, no podrás encontrarlo. Eso es exactamente lo que le ocurre a tu web.
En este artículo, te explicaré qué significa exactamente este error, por qué ocurre y, lo más importante, te daré varias soluciones prácticas y detalladas para arreglarlo tanto en WordPress como en PrestaShop. Al final, también responderemos a las preguntas más frecuentes para que te quedes sin ninguna duda.
¿Qué significa el error "Table doesn't exist" en MySQL?
Antes de ponernos manos a la obra, es crucial que entiendas qué está pasando entre bastidores. MySQL es el motor de base de datos que utiliza la gran mayoría de sitios web, incluyendo los que funcionan con WordPress y PrestaShop. Dentro de esta base de datos, la información se organiza en "tablas". Por ejemplo, en WordPress, hay una tabla para tus entradas del blog (wp_posts), otra para los usuarios (wp_users), otra para los comentarios (wp_comments), etc.
Cuando tu web te muestra el error wordpress table doesn't exist, significa que una consulta (una petición de información) está intentando acceder a una de estas tablas, pero el sistema no la encuentra. Esto puede deberse a varias razones, que veremos a continuación, pero el resultado es siempre el mismo: la página no carga y se muestra un mensaje de error, a veces críptico.
En el caso de prestashop tabla no existe, el principio es idéntico. PrestaShop también almacena sus productos, pedidos, clientes y configuraciones en tablas MySQL. Si una de estas tablas críticas falta o está dañada, tu tienda no podrá funcionar correctamente.
Causas más comunes de este error
Identificar la causa raíz es el primer paso para aplicar la solución correcta. Las razones más habituales son:
- Tabla dañada o corrupta: Durante un proceso de escritura o lectura, algo salió mal y la estructura de la tabla se ha dañado. Es como si un libro de la biblioteca tuviera páginas arrancadas o ilegibles.
- Eliminación accidental: Un plugin, un tema o una modificación manual en la base de datos puede haber borrado una tabla por error. Esto puede pasar al desinstalar un plugin de forma incorrecta.
- Prefijo de tabla incorrecto: WordPress y PrestaShop usan un prefijo (por ejemplo,
wp_ops_) para nombrar sus tablas. Si este prefijo se cambia o se configura mal, el sistema no encontrará las tablas. - Restauración incompleta de una copia de seguridad: Si has intentado restaurar una copia de seguridad de tu web y el proceso se interrumpió, es posible que la base de datos quede en un estado incompleto, con tablas faltantes.
- Problemas con el motor de almacenamiento: MySQL tiene diferentes motores de almacenamiento (como InnoDB o MyISAM). A veces, un cambio en la configuración puede hacer que las tablas no sean legibles.
Soluciones generales para el error de MySQL
Vamos a ver las soluciones más efectivas y que puedes aplicar sin necesidad de ser un gurú de la programación. Te recomiendo que las pruebes en el orden que te presento, ya que van de las más simples a las más complejas.
Solución 1: Reparar la tabla directamente desde phpMyAdmin
Esta es, con diferencia, la solución más rápida y efectiva para la mayoría de los casos, especialmente si el error es por una tabla corrupta. phpMyAdmin es una herramienta que te permite gestionar tu base de datos desde un panel gráfico, sin necesidad de escribir comandos. La mayoría de los paneles de control de hosting (como cPanel, Plesk o Syspanel) la incluyen.
Estos son los pasos a seguir:
- Accede a tu panel de control: Primero, entra en el panel de control de tu hosting. Si usas Syspanel, recuerda que el puerto de acceso es 2106 (por ejemplo,
https://tu-dominio.com:2106). Si usas otro panel, busca el acceso a "phpMyAdmin" o "Bases de Datos MySQL". - Selecciona tu base de datos: Dentro de phpMyAdmin, verás una lista a la izquierda con todas tus bases de datos. Haz clic en el nombre de la base de datos que corresponde a tu web (suele ser algo como
tuusuario_wpdbotuusuario_presta). - Encuentra la tabla problemática: El error que te mostraba tu web te indicará el nombre exacto de la tabla que falta o está dañada (por ejemplo,
wp_options). Búscala en la lista de tablas que aparece en el panel principal. - Selecciona y repara: Marca la casilla que está a la izquierda del nombre de la tabla. En la parte inferior de la lista, verás un menú desplegable que dice "Con seleccionado:". Haz clic en él y elige la opción "Reparar tabla".
- Confirma la operación: phpMyAdmin ejecutará un comando para reparar la tabla. Si todo va bien, verás un mensaje de éxito. Después de esto, intenta cargar tu web de nuevo. En la mayoría de los casos, el error table doesn't exist mysql habrá desaparecido.
[TIP] Si no sabes cuál es la tabla problemática, puedes hacer clic en el enlace "Comprobar todas" en la parte inferior de la lista de tablas. phpMyAdmin analizará todas las tablas y te dirá cuáles están dañadas.
Solución 2: Revisar y corregir el prefijo de las tablas
Si la reparación no funciona, el problema puede ser que el prefijo de las tablas en la base de datos no coincide con el que tu web espera encontrar. Esto es más común de lo que piensas, sobre todo después de migraciones o restauraciones.
- Vuelve a entrar en phpMyAdmin y selecciona tu base de datos.
- Observa los nombres de las tablas: Mira la lista de tablas. ¿Empiezan todas por el mismo prefijo (por ejemplo,
wp_ops_)? Anota cuál es. - Busca la configuración de tu web: Ahora, necesitas ver qué prefijo espera tu web. Para ello, tendrás que mirar el archivo de configuración. En WordPress, este archivo es
wp-config.phpy en PrestaShop esparameters.php. Puedes acceder a ellos a través del "Administrador de Archivos" de tu panel de control o por FTP. - Compara los prefijos: Busca una línea que diga algo como
$table_prefix = 'wp_';(en WordPress) odefine('_DB_PREFIX_', 'ps_');(en PrestaShop). Compara este valor con el prefijo que ves en phpMyAdmin. - Corrige la discrepancia: Si no coinciden, tienes dos opciones. La más fácil es editar el archivo de configuración (el de
wp-config.phpoparameters.php) y cambiar el prefijo para que coincida con el de la base de datos. La otra opción, más compleja, es renombrar todas las tablas en phpMyAdmin, pero no te lo recomiendo a menos que sepas exactamente lo que haces.
[WARNING] Antes de editar cualquier archivo de configuración, siempre haz una copia de seguridad. Un simple error al guardar el archivo puede dejar tu web completamente inaccesible.
Solución 3: Crear la tabla que falta desde una copia de seguridad
Si la tabla ha sido eliminada por completo y no se puede reparar, necesitarás crearla de nuevo. La mejor manera de hacerlo es desde una copia de seguridad de tu base de datos.
- Localiza una copia de seguridad reciente: Busca en tu hosting un archivo de copia de seguridad de la base de datos (suele tener extensión
.sql). Si no tienes una, contacta con tu proveedor de hosting para ver si ellos tienen alguna. - Importa solo la tabla que falta: Abre el archivo
.sqlcon un editor de texto (como el Bloc de Notas). Es un archivo grande, pero puedes usar la función de búsqueda (Ctrl+F) para encontrar el nombre de la tabla que te falta (por ejemplo,wp_options). - Copia el bloque de código: Cada tabla en el archivo
.sqltiene un bloque de código que empieza con algo comoCREATE TABLE IF NOT EXISTSy termina con un punto y coma;. Copia todo ese bloque. - Pégalo en phpMyAdmin: En phpMyAdmin, ve a la pestaña "SQL" en la parte superior. Pega el código que has copiado en el cuadro de texto y haz clic en "Continuar" o el botón "Ejecutar".
- Verifica: Esto creará la tabla que faltaba con su estructura correcta. Luego, si tienes una copia de seguridad más reciente, puedes intentar insertar los datos de esa tabla de manera similar, pero esto es más complejo. Si no, al menos la estructura estará y el error de "tabla no existe" debería desaparecer, aunque la tabla esté vacía.
[INFO] Si no te sientes cómodo manejando archivos .sql y copiando código, esta solución puede ser algo más avanzada. Si te surgen dudas, no dudes en contactar con el soporte de tu hosting.
Cómo arreglar el error en WordPress específicamente
Además de las soluciones generales, hay un par de trucos específicos para WordPress que pueden ser muy útiles.
Reinstalar el núcleo de WordPress
A veces, el problema no está en la base de datos, sino en los archivos de WordPress que han quedado corruptos. Reinstalar el núcleo puede resolver el error wordpress table doesn't exist sin tocar tu contenido.
- Descarga la última versión de WordPress en español desde el sitio oficial.
- Descomprime el archivo en tu ordenador.
- Accede a tu hosting por FTP o con el Administrador de Archivos.
- Sube los archivos de la carpeta
wordpressque has descomprimido a la raíz de tu instalación de WordPress (donde están las carpetaswp-admin,wp-content, etc.). Cuando el sistema te pregunte si quieres sobrescribir archivos, elige "Sí" o "Reemplazar". - No sobrescribas la carpeta
wp-contentni el archivowp-config.php. Sube el resto de archivos y carpetas.
Este proceso actualizará los archivos principales de WordPress y puede reparar cualquier problema de conexión con la base de datos.
Desactivar plugins y temas incompatibles
Un plugin o tema mal programado puede interferir con la base de datos y causar este error. Para probar esto, puedes desactivarlos temporalmente.
- Desactiva todos los plugins: Ve a "Plugins" en tu escritorio de WordPress. Selecciona todos los plugins y en el menú desplegable elige "Desactivar". Luego, intenta cargar tu web. Si el error desaparece, el problema es uno de los plugins. Actívalos de uno en uno para encontrar al culpable.
- Cambia a un tema por defecto: Si el problema persiste, ve a "Apariencia" > "Temas" y activa un tema por defecto como "Twenty Twenty-Four". Esto descartará que tu tema personalizado esté causando el conflicto.
[TIP] Si no puedes acceder a tu escritorio de WordPress debido al error, puedes desactivar los plugins directamente desde phpMyAdmin. En la tabla wp_options, busca la fila donde el nombre (option_name) es active_plugins y edítala, borrando el contenido de su valor. Esto desactivará todos los plugins.
Cómo arreglar el error en PrestaShop específicamente
Para PrestaShop, el proceso es similar, pero hay un par de matices.
Utilizar el modo mantenimiento
Lo primero que debes hacer es poner tu tienda en modo mantenimiento para que tus clientes no vean el error. Puedes hacerlo desde el panel de administración, si es que puedes acceder, o directamente en la base de datos.
- Accede a phpMyAdmin y selecciona la base de datos de PrestaShop.
- Busca la tabla
ps_configuration(o el prefijo que uses). - Busca la fila donde el nombre es
PS_SHOP_ENABLE. - Cambia su valor de
1a0. Esto activa el modo mantenimiento.
Reparar las tablas de PrestaShop
Al igual que en WordPress, la solución principal es reparar las tablas desde phpMyAdmin. Sigue los mismos pasos que te expliqué en la "Solución 1".
- Selecciona todas las tablas de tu base de datos de PrestaShop.
- En el menú desplegable, elige "Reparar tabla".
- Espera a que termine el proceso y revisa si el error prestashop tabla no existe se ha solucionado.
Comprobar la configuración de la tienda
A veces, el error puede ser causado por una configuración incorrecta en la base de datos. Revisa que los valores en las tablas ps_shop_url y ps_shop sean correctos (que apunten a tu dominio real, etc.). Si has movido la tienda de servidor o de dominio, estos valores pueden estar desactualizados.
[WARNING] Si después de probar todas estas soluciones el error persiste, es muy recomendable que contactes con el soporte técnico de tu proveedor de hosting. Ellos tienen acceso a herramientas más avanzadas y pueden diagnosticar el problema a nivel de servidor.
Preguntas Frecuentes (FAQ)
Para terminar, respondemos a las dudas que más nos suelen llegar sobre este tema.
¿He perdido mis datos si me sale este error?
No, en la gran mayoría de los casos no. El error "Table doesn't exist" no significa que hayas perdido información. Simplemente significa que la web no puede acceder a ella. Una vez que repares la tabla o la crees de nuevo, tus datos volverán a estar disponibles.
¿Por qué me sale este error después de una migración?
Las migraciones son un momento crítico. Es muy común que durante el proceso de copiar archivos y bases de datos se produzcan errores, como un prefijo mal configurado o una importación incompleta. Revisa las soluciones 2 y 3 de este artículo.
¿Puedo evitar este error en el futuro?
Sí, en gran medida. Las mejores prácticas son:
- Realiza copias de seguridad periódicas de tu web y tu base de datos.
- Actualiza WordPress, PrestaShop, tus plugins y temas con regularidad.
- Desinstala los plugins y temas de forma correcta, nunca borres sus archivos directamente por FTP.
- Evita realizar cambios en la base de datos si no estás seguro de lo que estás haciendo.
¿Qué es eso de "Syspanel" que mencionas?
Syspanel es un panel de control de hosting (una herramienta para gestionar tu servidor) que algunos proveedores utilizan. Es el equivalente a cPanel o Plesk. Su característica distintiva es que se accede a él a través del puerto 2106 (por ejemplo, https://tu-dominio.com:2106). Dentro de Syspanel, encontrarás las opciones para gestionar tus bases de datos, archivos y dominios.
Esperamos que esta guía te haya sido de gran ayuda. Rec
