es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

MySQL: ERROR 1146 la tabla no existe…aunque sí existe

Estoy siguiendo un ejemplo en un libro de texto que parece pasar por alto la parte de configurar un simple MySQL. (He notado algunos errores, pero creo que he logrado corregirlos). A pesar de ingresar aparentemente todo correctamente en el terminal y de que la tabla exista, obtengo el error 1146 cada vez que intento describir la tabla.

NOTA: Estoy utilizando MySQL v5.5.15 en Windows 7 VM en VirtualBox (según el ejemplo que estoy siguiendo en mi libro). Aquí hay una BASE DE DATOS SQL NUEVA, solo para que quede claro.

Crear base de datos moviedb;

Usar moviedb;

Crear tabla creditcards(
–>id varchar(20) DEFAULT NULL,
–>first_name varchar(50) DEFAULT NULL,
–>last_name varchar(50) DEFAULT NULL,
–>expiration date DEFAULT NULL);

DESCRIBIR moviedb;

ERROR 1146 (42S02): La tabla ‘moviedb.moviedb’ no existe

Ahora, lo primero que me llama la atención es que dice que ‘moviedb.moviedb’ no existe, lo que me lleva a creer que está buscando un elemento en ‘moviedb’ llamado ‘moviedb’, lo cual imagino que no debería existir porque no lo creé. ¿Necesito “volver” a la “raíz” para mostrar el contenido de moviedb? Aunque estoy siguiendo un ejemplo de un libro, también estoy siguiendo un video arbitrario de YouTube que no tuvo que ingresar ningún comando entre CREATE TABLE y DESCRIBE.

Si intento pasar a una tabla diferente y luego describir la moviedb, tengo el mismo problema.

También ejecuté SELECT * FROM moviedb; y eso no parece cambiar nada.

Aquí está la captura de pantalla completa de mi terminal, solo para transparencia. Sé que no estoy usando una sintaxis adecuada, pero… no soy un hombre perfecto. Si existe la posibilidad de que ESTO sea lo que está causando el error, lo volveré a hacer correctamente, sin embargo, utilicé la sintaxis adecuada la primera vez y obtuve el mismo error. Esto es toma 2: [enlace a la imagen]

Imagino que estoy haciendo algo tonto porque estoy en una versión antigua de MySQL y la sintaxis podría ser ligeramente diferente.

Gracias de antemano por cualquier aporte que tengan.

-Joe

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás enfrentando un problema donde la tabla “moviedb” no está siendo reconocida por el comando DESCRIBE. Un posible problema aquí es que podrías estar ingresando el nombre de la base de datos como un parámetro para DESCRIBE, lo que provoca que busque una tabla llamada “moviedb” dentro de la base de datos “moviedb”. Para verificar esto, puedes intentar ejecutar “DESCRIBE creditcards” en lugar de “DESCRIBE moviedb” para ver si reconoce la tabla.

    Otro posible problema podría estar relacionado con la sintaxis utilizada para crear la tabla. Específicamente, los caracteres “–>” delante de cada definición de columna no son una sintaxis válida de MySQL. En su lugar, debes usar comas para separar las definiciones de columna de esta forma:

    CREATE TABLE creditcards (
    id varchar(20) DEFAULT NULL,
    first_name varchar(50) DEFAULT NULL,
    last_name varchar(50) DEFAULT NULL,
    expiration date DEFAULT NULL
    );

    Una vez que corrijas la sintaxis, intenta crear la tabla nuevamente y luego ejecuta “DESCRIBE creditcards” para ver si reconoce la tabla. Si el problema persiste, podrías intentar reiniciar el servicio MySQL para ver si eso resuelve el problema.

    ¡Buena suerte!

Comments are closed.