Error de restricción de clave externa en MySQL

R

Hola,

Actualmente estoy diseñando una base de datos MySQL y me encontré con un problema con limitaciones de claves externas. Aquí hay una versión condensada de mi código:

CREATE TABLE Orders (
    order_id INT PRIMARY KEY,
    customer_id INT,
    order_date DATE,
    FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
);

CREATE TABLE Customers (
    customer_id INT PRIMARY KEY,
    customer_name VARCHAR(50),
    email VARCHAR(100)
);

Mi mensaje de error es "ERROR 1215 (HY000): No se puede agregar una restricción de clave externa". Verifiqué dos veces los tipos de datos y las referencias de clave principal pero no pude encontrar el problema, por lo tanto leí este blog sobre el mismo problema pero no pude comprenderlo bien. ¿Alguien podría explicar qué está generando este problema y ofrecer una solución?

¡Gracias por su ayuda!

Fyn4r

Igual estoy loco pero me da que estás intentando crear una clave foránea sobre una tabla que aún no existe

3
radykal

Invierte el orden de creación de ambas tablas

pantocreitor

Primero crea las tablas de las que dependen las FKs, si no existen es imposible crearlas.

Kaos

Es buena cosa delimitar los datos. Las primary un bigint 11 da de sobra.

2

Usuarios habituales