Tengo Drupal ejecutándose en MariaDB 5.5.33. Cuando ejecuto update.php (después de actualizar a Drupal 7.28 desde Drupal 6) aparece un error:
Error: PDOException: SQLSTATE [42S02]: no se encuentra la tabla o vista base: 1146 La tabla 'webdb.location_country' no existe: CREATE TABLE {location_country} (
code
CHAR (2) NOT NULL COMMENT 'Clave principal: Código de país ISO de dos letras ',name
VARCHAR (255) NO NULL POR DEFECTO' 'COMENTARIO' Nombre completo del país ', PRIMARY KEY (code
)) MOTOR = InnoDB DEFAULT CHARACTER SET utf8 COMENTARIO' Datos del país gestionados por location.module. '; Array () indb_create_table () (línea 2720 de /home/web/public_html/includes/database/database.inc).
Cuando intento ejecutar el comando
CREATE TABLE {location_country} (
code
CHAR (2) NOT NULL COMENTARIO 'Clave principal: código de país ISO de dos letras',name
VARCHAR (255) NOT NULL DEFAULT '' COMENTARIO 'Nombre completo del país', PRIMARY KEY (code
)) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COMENTARIO 'Datos del país gestionados por location.module.';
en phpMyAdmin me sale un error
# 1064 - Tiene un error en su sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MariaDB para obtener la sintaxis correcta para usar cerca de '{location_country} (
code
CHAR (2) NOT NULL COMMENT' Clave principal: dos letras IS 'en la línea 1
Pero no pude averiguar dónde está el problema.
Dado que otras respuestas (incluidas las que no están relacionadas de ninguna manera con el motor InnoDB) a preguntas sobre esta PDOException están marcadas como duplicadas y redirigen a esta, supongo que este es el lugar canónico para obtener respuestas sobre este problema.
He encontrado esto varias veces al desinstalar un módulo, y la tabla buscada no existe en el sitio (porque se ha eliminado por accidente, porque hay un error tipográfico en la definición del esquema
.install
o por alguna otra razón).La forma más sencilla de solucionarlo es ejecutar el script de actualización de la base de datos (
update.php
) manualmente.Después de que su sitio vuelva a la vida, debe tratar de descubrir la causa raíz del problema y solucionarlo.
fuente
Deberá eliminar las llaves alrededor del nombre de la tabla cuando lo use como SQL sin formato.
p.ej:
fuente
Este es el mismo mensaje de error que se encontró al mover Drupal 7 de un sitio de desarrollo a otro sitio de desarrollo en mi computadora portátil. Después de verificar las tablas en la base de datos de Drupal, descubrí que no se importaba el volcado de sql completo (usando Adminer y la opción "Desde el servidor", adminer.sql).
Busque las tablas de la base de datos de Drupal 7 que se acercan alfabéticamente al final del volcado de SQL, como: user * , views * , webform * , workbench * , xmlsitemap * para ver si todo se importó.
Solía
drush sql-cli < database.sql
importar el volcado de sql en la base de datos de Drupal después de soltar todas las tablas de la base de datosdrush sql-drop
.fuente