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.

¿No entiendo por qué este código está arrojando un error?

Estoy ejecutando el siguiente código en MySQL Workbench:

CREATE TABLE beer_type ( -- crear tabla de cerveza
type_id INTEGER NOT NULL PRIMARY KEY, -- PK "type_id"
beer_name VARCHAR(30) NOT NULL,
beer_type VARCHAR(30) NOT NULL,
beer_id INTEGER NOT NULL,
FOREIGN KEY (beer_id) REFERENCES beer (beer_id));

Estoy obteniendo:

0 5 21:27:10 CREATE TABLE beer_type ( -- crear tabla de cerveza Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 0.000 sec

Soy nuevo en SQL, por lo que esto me resulta un poco confuso y mi profesor no es de gran ayuda…
¿Alguien podría ayudarme por favor? ¡Sería muy apreciado!

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que falta la tabla beer a la que está intentando hacer referencia en su clave foránea. Asegúrese de que la tabla beer existe y que tiene una columna de clave principal llamada beer_id. Además, necesita especificar el tipo de datos para la columna beer_id en su tabla beer_type.

    Aquí hay una versión revisada de su código:

    CREATE TABLE beer_type (
      type_id INTEGER NOT NULL PRIMARY KEY,
      beer_name VARCHAR(30) NOT NULL,
      beer_type VARCHAR(30) NOT NULL,
      beer_id INTEGER NOT NULL,
      FOREIGN KEY (beer_id) REFERENCES beer (beer_id)
    );
    
    CREATE TABLE beer (
      beer_id INTEGER NOT NULL PRIMARY KEY,
      beer_name VARCHAR(30) NOT NULL,
      beer_brand VARCHAR(30) NOT NULL
    );
    

    Este código crea dos tablas: beer_type y beer. La tabla beer_type tiene una restricción de clave foránea que hace referencia a la columna de clave primaria beer_id de la tabla beer.

    ¡Espero que esto ayude! Hágame saber si tiene más preguntas.

Comments are closed.