我在 MySQL Workbench 中建立了表,如下所示:
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;
產品表:
#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;
和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;
因此,當我嘗試將值插入 ORDRELINJE
表時,我得到:
錯誤代碼:1452。無法新增或更新子行:外鍵約束失敗(
srdjank
.Ordrelinje
,約束Ordrelinje_fk
外鍵(Ordre
) 參考Ord re
(OrdreID
) )
我看過有關此主題的其他帖子,但沒有運氣。 我是否在監督某些事情或知道要做什麼?
P粉4102398192023-10-09 10:11:17
#因此,您的錯誤錯誤代碼:1452。無法新增或更新子行:外鍵約束失敗
本質上意味著,您正在嘗試向Ordrelinje新增一行
Ordre
表中不存在符合行(OrderID) 的code>表。
您必須先將該行插入 Ordre
表中。