🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo solucionar el error 'Table doesn't exist' en MySQL (PrestaShop)

Actualizado el 28 de diciembre de 2025

¡Hola! Soy tu técnico de soporte amigable. Si estás leyendo esto, probablemente te has encontrado con un mensaje de error bastante molesto en tu tienda PrestaShop: "Table doesn't exist". No te preocupes, es un problema más común de lo que parece y, con la guía adecuada, podrás solucionarlo sin ser un experto en bases de datos. Vamos a desglosarlo paso a paso, como si lo hiciéramos juntos.

¿Qué significa exactamente el error "Table doesn't exist" en PrestaShop?

Cuando tu tienda PrestaShop muestra este error, te está diciendo que está intentando acceder a una tabla específica dentro de tu base de datos MySQL, pero no la encuentra. Piensa en una base de datos como un archivador gigante lleno de carpetas (tablas). Cada carpeta contiene información importante: productos, clientes, pedidos, etc. Si una carpeta desaparece o está dañada, el sistema no puede encontrar los datos y se bloquea.

Este error puede aparecer de varias formas:

  • En el frontend (la parte visible de tu tienda): "Error: Table 'nombrebasededatos.ps_product' doesn't exist".
  • En el backend (el panel de administración): "PrestaShop MySQL error: Table 'ps_cart' doesn't exist".
  • O incluso al intentar acceder a tu panel de control de hosting.

Las causas más frecuentes son:

  1. Corrupción de la tabla: La tabla se dañó por un cierre inesperado, un error del servidor o una actualización fallida.
  2. Eliminación accidental: Alguien (o un script) borró la tabla por error.
  3. Problemas con el motor de almacenamiento: La tabla usa un motor (como MyISAM o InnoDB) que se ha corrompido.
  4. Prefijo incorrecto: En PrestaShop, el prefijo de las tablas suele ser ps_, pero si lo cambiaste o hay un error de configuración, el sistema no encontrará las tablas correctas.

Paso 1: Identificar el problema exacto

Antes de lanzarnos a reparar, necesitamos saber exactamente qué tabla falta o está dañada. Esto es clave para no tocar lo que no debemos.

Accede a tu base de datos desde el panel de control de tu hosting

La mayoría de los paneles de hosting (como cPanel, Plesk o Syspanel) tienen una herramienta llamada phpMyAdmin. Es como un explorador de archivos para tu base de datos.

  1. Inicia sesión en tu panel de control.
  2. Busca la sección de Bases de Datos o MySQL.
  3. Si usas Syspanel, recuerda que el puerto de acceso es el 2106. Busca la opción "phpMyAdmin" o "Administrar base de datos".
  4. Selecciona la base de datos de tu PrestaShop (normalmente tiene un nombre como tuusuario_prestashop).
  5. Verás una lista de tablas. Busca la que menciona el error. Por ejemplo, si el error dice ps_product, busca esa tabla.

Anota el estado de la tabla

En phpMyAdmin, verás una columna llamada Estado o Status. Si la tabla no aparece, es que fue eliminada. Si aparece pero con un estado como "in use", "crash" o "error", está dañada.

[INFO] No te asustes si ves muchas tablas. PrestaShop tiene alrededor de 200-300 tablas. Lo importante es la que te da el error.

Paso 2: Soluciones para reparar la tabla MySQL de PrestaShop

Dependiendo de lo que hayas encontrado, aplicaremos una solución u otra. Vamos a ver las más efectivas.

Solución 1: Reparar la tabla directamente desde phpMyAdmin (la más fácil)

Si la tabla existe pero está dañada, puedes repararla con un solo clic.

  1. En phpMyAdmin, selecciona la base de datos.
  2. Marca la casilla junto al nombre de la tabla problemática (por ejemplo, ps_product).
  3. En la parte inferior de la lista de tablas, verás un menú desplegable que dice "Con seleccionados:". Selecciona Reparar tabla.
  4. phpMyAdmin ejecutará el comando REPAIR TABLE y te mostrará un mensaje de éxito o error.

Si el error era por corrupción leve, esto suele solucionarlo al instante. Si no funciona, pasamos a la siguiente opción.

Solución 2: Usar SQL para reparar la tabla

Si la reparación visual no funciona o te da un error, podemos hacerlo manualmente con una consulta SQL.

  1. En phpMyAdmin, haz clic en la pestaña SQL (suele estar arriba).
  2. Escribe el siguiente comando, reemplazando nombre_de_tabla por el nombre exacto de la tabla con error (ejemplo: ps_product):
    REPAIR TABLE nombre_de_tabla;
    
  3. Haz clic en Continuar o en el botón Ejecutar.
  4. Revisa el resultado. Si dice "OK" o "Table is already up to date", ¡problema resuelto!

[WARNING] Este comando solo funciona para tablas MyISAM. Si tu tabla es InnoDB (el motor más moderno), el comando REPAIR no está disponible directamente. No te preocupes, tenemos otra solución.

Solución 3: Recrear la tabla a partir de una copia de seguridad (la más segura)

Si la tabla no se puede reparar o fue eliminada, la mejor opción es restaurarla desde una copia de seguridad reciente. Esto es vital: siempre debes tener copias de seguridad de tu base de datos.

  1. Localiza tu copia de seguridad: Busca un archivo .sql de tu base de datos. Si tienes un backup automático de tu hosting, puedes descargarlo desde el panel de control (en Syspanel, suele estar en "Backups").
  2. Importa solo esa tabla: No necesitas restaurar toda la base de datos, solo la tabla que falta.
    • En phpMyAdmin, selecciona tu base de datos.
    • Haz clic en Importar.
    • Elige el archivo .sql de tu backup.
    • Antes de importar, abre el archivo .sql con un editor de texto (como Notepad++ o Sublime Text). Busca el bloque que contiene CREATE TABLE seguido del nombre de la tabla (ejemplo: CREATE TABLE ps_product). Copia solo ese bloque (desde CREATE TABLE hasta el ; final).
    • Pega ese bloque en la pestaña SQL de phpMyAdmin y ejecútalo. Esto recreará la tabla con su estructura original.
  3. Verifica: Una vez importada, revisa que la tabla aparezca en la lista y que su estado sea "OK".

Solución 4: Usar la herramienta de reparación de PrestaShop (si tienes acceso al backoffice)

PrestaShop incluye una herramienta interna para reparar la base de datos, pero solo funciona si el error no te impide acceder al panel de administración.

  1. Accede a tu backoffice de PrestaShop (ejemplo: tutienda.com/admin).
  2. Ve a Parámetros Avanzados > Base de datos.
  3. Busca la opción "Reparar base de datos" o "Database repair".
  4. Selecciona las tablas problemáticas y haz clic en reparar.

[TIP] Esta herramienta es muy básica. Si el error es grave, probablemente no te dejará ni entrar al backoffice. En ese caso, usa las soluciones anteriores.

Solución 5: Revisar el prefijo de las tablas (caso raro pero posible)

A veces, el error "Table doesn't exist" aparece porque el prefijo configurado en PrestaShop no coincide con el real.

  1. Conéctate a tu base de datos con phpMyAdmin.
  2. Busca la tabla ps_configuration (o como se llame según tu prefijo).
  3. Dentro de esa tabla, busca un campo llamado PS_DB_PREFIX. Anota el valor.
  4. Ahora, ve a la carpeta config/ de tu instalación de PrestaShop (a través de FTP o el administrador de archivos de tu hosting). Abre el archivo settings.inc.php (en versiones antiguas) o parameters.php (en versiones modernas).
  5. Busca la línea que dice define('_DB_PREFIX_', 'ps_'); y asegúrate de que coincida con el valor de la base de datos. Si no coincide, cámbialo.

¿Qué hacer si ninguna de estas soluciones funciona?

Si has probado todo y el error persiste, es posible que la base de datos esté muy dañada o que el problema sea de hardware del servidor. En ese caso:

  1. Contacta a tu soporte técnico: Diles que tienes un PrestaShop MySQL error y que necesitas que revisen los logs del servidor. Si usas Syspanel, puedes abrir un ticket de soporte desde el panel (puerto 2106).
  2. Solicita una restauración completa: Si tienes un backup reciente, pide a tu hosting que restaure toda la base de datos. Esto es más drástico, pero soluciona cualquier corrupción.
  3. Considera una migración: Si el error es recurrente, puede ser señal de que tu hosting no es óptimo para PrestaShop. Busca un hosting especializado que ofrezca MySQL con buen rendimiento y soporte técnico 24/7.

Preguntas frecuentes (FAQ) sobre el error "Table doesn't exist"

¿Por qué aparece este error después de una actualización de PrestaShop?
Las actualizaciones a veces modifican la estructura de las tablas. Si el proceso se interrumpe (por timeout, falta de memoria, etc.), puede dejar tablas corruptas o incompletas. Siempre haz una copia de seguridad antes de actualizar.

¿Puedo perder datos si reparo una tabla?
Reparar una tabla con REPAIR TABLE solo intenta restaurar la estructura y los datos legibles. No deberías perder información, pero si la tabla está muy dañada, algunos datos podrían perderse. Por eso es crucial tener backups.

¿El error "Table doesn't exist" puede ser por un plugin?
Sí, algunos módulos o plugins de terceros crean sus propias tablas en la base de datos. Si desinstalas un módulo de forma incorrecta, puede dejar tablas huérfanas o dañadas. Revisa si el error aparece al acceder a una funcionalidad específica de un módulo.

¿Cómo evito este error en el futuro?

  • Backups automáticos: Configura backups diarios de la base de datos en tu panel de hosting (en Syspanel, puedes programarlos en "Cron Jobs" o "Backups").
  • Actualiza con cuidado: Siempre prueba las actualizaciones en un entorno de pruebas antes de aplicarlas en producción.
  • Monitoriza el estado del servidor: Si tu web se cae a menudo, el servidor puede estar forzando cierres de MySQL, lo que corrompe tablas.
  • Usa un hosting de calidad: Un buen hosting con MySQL optimizado reduce drásticamente estos errores.

Conclusión final

El error "Table doesn't exist" en PrestaShop puede parecer aterrador, pero como has visto, tiene solución. Lo más importante es mantener la calma, identificar la tabla problemática y aplicar la solución adecuada: reparar, restaurar desde backup o verificar la configuración.

Recuerda que la prevención es tu mejor aliada. Con copias de seguridad periódicas y un hosting estable, este tipo de problemas serán solo un mal recuerdo. Si en algún momento te sientes abrumado, no dudes en pedir ayuda a tu soporte técnico. ¡Estamos aquí para eso!

[TIP FINAL] Si usas Syspanel, recuerda que el acceso a phpMyAdmin está disponible desde el panel principal, en la sección "Bases de Datos". Y si necesitas ayuda directa, abre un ticket indicando el puerto 2106 y menciona el error PrestaShop database repair para que te atiendan más rápido.

¡Espero que tu tienda vuelva a funcionar en un santiamén!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel