He creado tablas en MySQL Workbench como se muestra a continuación:
Tabla ORDRE:
CREATE TABLE Ordre (
OrdreID INT NOT NULL,
OrdreDato DATE DEFAULT NULL,
KundeID INT DEFAULT NULL,
CONSTRAINT Ordre_pk PRIMARY KEY (OrdreID),
CONSTRAINT Ordre_fk FOREIGN KEY (KundeID) REFERENCES Kunde (KundeID)
)
ENGINE = InnoDB;
Tabla PRODUKT:
CREATE TABLE Produkt (
ProduktID INT NOT NULL,
ProduktBeskrivelse VARCHAR(100) DEFAULT NULL,
ProduktFarge VARCHAR(20) DEFAULT NULL,
Enhetpris INT DEFAULT NULL,
CONSTRAINT Produkt_pk PRIMARY KEY (ProduktID)
)
ENGINE = InnoDB;
y tabla ORDRELINJE:
CREATE TABLE Ordrelinje (
Ordre INT NOT NULL,
Produkt INT NOT NULL,
AntallBestilt INT DEFAULT NULL,
CONSTRAINT Ordrelinje_pk PRIMARY KEY (Ordre, Produkt),
CONSTRAINT Ordrelinje_fk FOREIGN KEY (Ordre) REFERENCES Ordre (OrdreID),
CONSTRAINT Ordrelinje_fk1 FOREIGN KEY (Produkt) REFERENCES Produkt (ProduktID)
)
ENGINE = InnoDB;
así que cuando trato de insertar valores en la ORDRELINJE
tabla obtengo:
Código de error: 1452. No se puede agregar o actualizar una fila secundaria: falla una restricción de clave externa (
srdjank
.Ordrelinje
, REFERENCIASOrdrelinje_fk
DE LLAVE EXTRANJERA DE RESTRICCIÓN (Ordre
)Ordre
(OrdreID
))
He visto las otras publicaciones sobre este tema, pero no tuve suerte. ¿Estoy supervisando algo o alguna idea de qué hacer?