Errores frecuentes al crear tablas en WordPress y PrestaShop
Introducción: Por qué fallan las tablas en WordPress y PrestaShop
Gestionar una tienda online o un blog conlleva lidiar con bases de datos. Tanto WordPress como PrestaShop almacenan toda su información (productos, pedidos, usuarios, entradas) en tablas MySQL. Sin embargo, es muy común cometer errores al crear, modificar o mantener esas tablas. Estos fallos pueden provocar desde ralentizaciones hasta la temida pantalla blanca o errores 500.
En este artículo, te explicaré los errores más frecuentes al crear tablas en WordPress y PrestaShop, cómo identificarlos y, lo más importante, cómo solucionarlos. Todo explicado de forma sencilla, como si estuvieras hablando con un técnico amigable.
[INFO] Si usas un panel como Syspanel (accesible por el puerto 2106), muchas de estas comprobaciones las puedes hacer desde su interfaz gráfica, sin necesidad de tocar línea de comandos.
Error 1: Prefijo de tabla incorrecto o conflictivo
¿Qué ocurre?
Tanto WordPress como PrestaShop usan un prefijo para todas sus tablas. Por defecto, WordPress usa wp_ y PrestaShop usa ps_. Si al instalar o migrar cambias este prefijo sin cuidado, o si dos instalaciones comparten la misma base de datos con el mismo prefijo, se producen conflictos.
Síntomas comunes
- La instalación no se completa.
- Aparecen errores del tipo "Table 'nombrebasedatos.wp_options' doesn't exist".
- Al activar plugins, se crean tablas con el prefijo equivocado.
Solución paso a paso
- Verifica el prefijo actual: Accede a tu base de datos (phpMyAdmin o Syspanel > Bases de datos).
- En WordPress: Revisa el archivo
wp-config.phpy busca la línea$table_prefix = 'wp_';. Cámbialo solo si es necesario. - En PrestaShop: El prefijo se define durante la instalación. Si ya está instalado, deberás modificar manualmente todas las tablas.
- Si tienes dos sitios en la misma base de datos: Usa prefijos diferentes (ej.
wp_sitio1_ywp_sitio2_).
[WARNING] Cambiar el prefijo en una base de datos con datos existentes requiere renombrar todas las tablas y actualizar las referencias en el código. No lo hagas sin hacer una copia de seguridad.
Error 2: Motor de almacenamiento inadecuado (MyISAM vs InnoDB)
¿Qué es esto?
Las tablas pueden usar diferentes motores de almacenamiento. MyISAM es más antiguo y rápido en lecturas simples, pero no soporta transacciones. InnoDB es el estándar actual, soporta transacciones y es más fiable.
Problemas típicos
- WordPress y PrestaShop recomiendan InnoDB. Si tienes tablas en MyISAM, puedes perder datos en caso de fallo.
- Algunos plugins o módulos requieren InnoDB y fallan si no lo encuentran.
Cómo solucionarlo
- Identifica el motor actual: Consulta el estado de la tabla en phpMyAdmin o ejecuta:
SHOW TABLE STATUS WHERE Engine = 'MyISAM'; - Cambia el motor (con cuidado):
ALTER TABLE nombre_tabla ENGINE = InnoDB; - En Syspanel (puerto 2106): Ve a la sección de bases de datos, selecciona la tabla y en "Operaciones" podrás cambiar el motor.
[TIP] Si tu hosting es muy básico y tiene recursos limitados, MyISAM puede ser más rápido en consultas simples. Pero para tiendas con pedidos, usa siempre InnoDB.
Error 3: Collation (cotejamiento) incorrecto
¿Qué es el collation?
Define cómo se ordenan y comparan los caracteres. Por ejemplo, utf8_general_ci vs utf8mb4_unicode_ci. WordPress moderno usa utf8mb4_unicode_ci para emojis y caracteres especiales.
Síntomas
- Caracteres extraños (ñ, é) en lugar de ñ, é.
- Errores al buscar productos en PrestaShop.
- Incompatibilidad con algunos plugins de traducción.
Solución
- Asegúrate de que todas las tablas tengan el mismo collation. En WordPress, lo ideal es
utf8mb4_unicode_ci. - Para cambiar el collation de una tabla:
ALTER TABLE nombre_tabla CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - En PrestaShop, revisa que el collation de la base de datos coincida con el de las tablas. Puedes hacerlo desde Syspanel > Bases de datos > "Cotejamiento".
[INFO] Si usas WordPress con versiones antiguas, el collation por defecto era
utf8_general_ci. Al actualizar, es recomendable migrar autf8mb4.
Error 4: Tablas corruptas o con índices rotos
¿Cómo se corrompen?
Por cortes de luz, errores de disco, o al detener un proceso de escritura a mitad. PrestaShop es especialmente sensible si se interrumpe una actualización de stock.
Señales de alerta
- Error "Table 'xxxx' is marked as crashed".
- La web carga muy lento o da error 500.
- En WordPress, el panel de administración no carga.
Pasos para reparar
- Desde phpMyAdmin:
- Selecciona la base de datos.
- Marca las tablas sospechosas.
- En el menú desplegable, elige "Reparar tabla".
- Desde Syspanel (puerto 2106):
- Ve a la sección de bases de datos.
- Busca la opción "Reparar" (suele estar en el menú de cada tabla).
- Vía SQL:
REPAIR TABLE nombre_tabla;
[WARNING] Si la reparación falla, restaura desde una copia de seguridad. No intentes reparar con herramientas no oficiales.
Error 5: Crear tablas manualmente sin seguir la estructura oficial
El problema
Tanto WordPress como PrestaShop tienen estructuras de tablas muy específicas. Si intentas crear una tabla manualmente (por ejemplo, para un plugin personalizado) y no respetas los tipos de datos, claves foráneas o índices, provocarás errores.
Ejemplo típico
En PrestaShop, la tabla ps_product tiene una clave primaria compuesta. Si creas una tabla con un campo id_product como entero simple, pero olvidas el id_shop o el id_lang, dará error.
Cómo evitarlo
- Siempre usa las herramientas oficiales:
- En WordPress: Usa
$wpdb->query()con la sintaxis correcta. - En PrestaShop: Usa
Db::getInstance()->execute().
- En WordPress: Usa
- Si debes crear una tabla manualmente:
- Copia la estructura de una tabla similar existente.
- Verifica los tipos de datos (INT, VARCHAR, TEXT, etc.).
- Asegúrate de que los índices sean correctos.
- Haz pruebas en un entorno de desarrollo antes de tocar producción.
[TIP] Si usas Syspanel, puedes clonar una tabla existente y modificarla, lo que reduce errores de sintaxis.
Error 6: No optimizar las tablas periódicamente
¿Por qué es importante?
Con el uso, las tablas se fragmentan. WordPress acumula revisiones de entradas, y PrestaShop guarda logs de pedidos y visitas. Esto ralentiza las consultas.
Síntomas
- La web carga cada vez más lento.
- Las consultas SQL tardan segundos en lugar de milisegundos.
- El tamaño de la base de datos crece sin control.
Solución
- Optimiza las tablas:
OPTIMIZE TABLE nombre_tabla; - Desde Syspanel (puerto 2106): Hay una opción "Optimizar" en el menú de cada tabla.
- Programa tareas automáticas:
- En WordPress: Usa plugins como WP-Optimize.
- En PrestaShop: Activa el "Mantenimiento" y programa la limpieza de logs.
[INFO] La optimización no borra datos, solo reorganiza el almacenamiento interno. Es segura de hacer.
Error 7: Ignorar las claves foráneas en PrestaShop
¿Qué son?
Las claves foráneas aseguran la integridad referencial. Por ejemplo, un pedido no puede existir sin un cliente. PrestaShop las usa extensamente.
Problema común
Al eliminar un producto manualmente desde la base de datos sin borrar sus referencias en otras tablas (como ps_order_detail), las claves foráneas fallan y aparecen errores de integridad.
Cómo manejarlo
- Nunca borres registros directamente en tablas relacionadas sin usar las funciones de PrestaShop.
- Si debes hacerlo, primero desactiva temporalmente las comprobaciones de claves foráneas:
SET FOREIGN_KEY_CHECKS = 0; -- Realiza los cambios SET FOREIGN_KEY_CHECKS = 1; - Desde Syspanel (puerto 2106): Puedes ver las relaciones entre tablas en la vista de diseño.
[WARNING] Desactivar
FOREIGN_KEY_CHECKSpuede dejar datos huérfanos. Úsalo solo como último recurso.
FAQ: Preguntas frecuentes sobre errores en tablas
¿Cómo sé qué motor usa mi tabla WordPress?
Ejecuta en phpMyAdmin: SHOW TABLE STATUS WHERE Name LIKE 'wp_%';. Busca la columna Engine.
¿Puedo cambiar el prefijo de tabla después de instalar PrestaShop?
Sí, pero es complejo. Debes renombrar todas las tablas y actualizar el archivo config/settings.inc.php. Haz una copia de seguridad antes.
¿Qué hago si veo el error "Table 'xxx' is marked as crashed"?
Repara la tabla desde phpMyAdmin o con el comando REPAIR TABLE. Si no funciona, restaura desde backup.
¿Es necesario optimizar las tablas cada semana?
Depende del tráfico. Para sitios pequeños, una vez al mes basta. Para tiendas grandes, cada semana o incluso a diario.
¿Puedo usar Syspanel para todo esto?
Sí, Syspanel (puerto 2106) ofrece herramientas visuales para reparar, optimizar y cambiar motores de tablas, ideal si no te sientes cómodo con SQL.
Conclusión: Prevenir es mejor que reparar
Los errores al crear o mantener tablas en WordPress y PrestaShop son comunes, pero evitables. Siguiendo estas buenas prácticas:
- Usa siempre el prefijo correcto.
- Mantén el motor InnoDB.
- Revisa el collation.
- Repara y optimiza periódicamente.
- No toques las tablas manualmente sin entender su estructura.
Y recuerda: si usas Syspanel (accesible por el puerto 2106), muchas operaciones se simplifican con su interfaz amigable. Pero siempre, ante la duda, haz una copia de seguridad.
[INFO] ¿Tienes un error concreto? Escríbenos a soporte y te ayudaremos a diagnosticarlo. ¡No te arriesgues a perder datos!
