2011-11-15 59 views
17

Estoy tratando de importar este sql en mi nombre de la base de SymfonyLa tabla no existe después de CREATE TABLE

CREATE TABLE IF NOT EXISTS ingredient (
`id` int(11) NOT NULL AUTO_INCREMENT, 
`name` varchar(255) NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

y me sale

#1146 - Table 'symfony.ingredient' doesn't exist 

Esto parece bastante extraño, ya que estoy tratando aquí para CREAR esta tabla, entonces ... ¿por qué no está funcionando? Tengo el mismo problema si intento

CREATE TABLE symfony.ingredient 

o la función en Symfony 2

c:\Dev\Symfony>php app/console doctrine:schema:create 

PD: Tengo este problema sólo con la nueva versión de XAMPP.

EDITAR

Bueno, yo de alguna manera para resolver mi problema. Dejé caer mi base de datos, luego creé una (no con la interfaz) y finalmente reformulé el servicio de mysql. No sé por qué y cómo me desaloja, pero espero que esto ayude a alguien.

+1

De acuerdo. Tuve que soltar la base de datos, reiniciar el servidor mysql, y luego volver a crear todo y funcionó bien. Gracias. –

Respuesta

0

Hmm, ¿está seguro de que tiene una base de datos y tiene el privilegio de hacer declaraciones CREATE.

Si tiene phpmyadmin:

Para probar la primera possibiblity, crear una nueva base de datos de prueba (vacío), haga clic en el menú y a continuación, pulse el botón SQL en la barra de navegación superior y copiar y pegar su estado de cuenta de nuevo . Si esto no funciona prueba el segundo.

Por el segundo puede hacer clic en el botón "Inicio" y luego ir a "Privilegios". Si solo hay dos o tres cuentas, pero todas tienen privilegios de administrador, tiene los privilegios para crear un CREAR. De lo contrario, puede verificar su cuenta y darse los privilegios.

Si las dos posibilidades no funcionó, tampoco lo sé. Funcionó bien para mí :(

+0

Lamentablemente, estoy registrado como root y pruebo mis consultas con Phpmyadmin. Lo que es realmente extraño es CREATE TABLE symfony_ingredient está funcionando, pero eso no es lo que quiero. Creo que algo está mal con el prefijo. – Korangar

+0

Ah sí, entonces tengo miedo de no poder ayudarte, ya que no puedo reproducir el error, ni veo nada que pueda causarlo. Buena suerte :) – Tessmore

14

que tenían el mismo problema Mi solución:.. Cambiar nombre de la tabla en la consulta de tabla crear, exequte y luego cambiar el nombre de la tabla

A continuación, también se puede dejar esto mesa y después de que la crea sin conseguir el error

+2

Esto no funcionó para mí. Obtuve un error de tabla ya existente al intentar cambiar el nombre de otra tabla al nombre que quería. – Mike

+0

Extraño, pero esto funciona, cambie el nombre en la sentencia create y luego cambie el nombre a lo que se necesitaba que fuera el nombre original, después de que la tabla se haya creado correctamente. ¿Alguien puede arrojar algo de luz sobre lo que está sucediendo aquí? –

8

lo que funcionó para mí fue:.

  • ir a la base de datos/xampp-nombre de la carpeta/mysql/data/
  • podrás ver solo el archivo .frm. Los archivos .MYD y .MYI faltan para las tablas vacías.
  • Borre el archivo .frm.
  • Detenga el proceso MySQL y reinícielo.
  • Después de eso, pude crear la tabla.

La versión anterior de xampp creó tablas en formato MyISAM con la nueva versión como InnoDB.

+0

en los archivos de Ubuntu están en/var/lib/mysql/[nombre-base de datos] –

+0

¡Sí! Esto funcionó para mí también. Solo recuerde que normalmente es /xamppfiles/var/mysql//. * Archivos que se van a eliminar – narasi

0

Tuve el mismo problema: # 1146 - La tabla 'tutsplus_ci.posts' no existe. Resolví este problema siguiendo estos pasos:

Realicé una exportación de la tabla incriminada en un archivo sql. Noté que el nombre de la tabla en el archivo .sql tiene un espacio final suplementario. Vuelvo a phpmyadmin en la sección Operaciones de mi tabla y cambio el nombre de la tabla de 'publicaciones' a 'publicaciones'. Después de tomar todas estas acciones, el error no apareció.

Para concluir, de hecho la tabla 'publicaciones' no existía como mensaje de error dicho. Porque el nombre real de la tabla era 'publicaciones', no 'publicaciones'. El espacio antes del nombre es difícil de notar en phpmyadmin. Esta es la historia. Nada especial. ¡Espero que ayude!

1

Tuve este mismo problema. Recibí un mensaje de "servidor se fue" al crear la tabla y después de eso recibí mensajes de tabla no existe, pero no pude tratar de volver a crear la tabla porque luego recibí un mensaje que decía que hizo existe. Lo resuelto por la ejecución de este en la línea de comandos:

mysqlcheck --repair --all-databases -u root -p 

Tampoco estaría de más que reiniciar el servidor MySQL después de esto, así por si acaso.

+0

Esto no funciona para las tablas InnoDB. – aowie1

+0

@ aowie1 En realidad, * does * funciona * con InnoDB, sin embargo, lo que sucedió en mi servidor puede ser diferente de lo que está sucediendo con el suyo. Incluso el [manual] (https://dev.mysql.com/doc/refman/5.7/en/mysqlcheck.html) habla sobre tablas InnoDB. – Mike

Cuestiones relacionadas