外鍵約束失敗:無法新增或更新子行(錯誤 1452)
P粉155551728
P粉155551728 2023-10-08 23:40:09
0
1
843

我在 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粉155551728
P粉155551728

全部回覆(1)
P粉410239819

取自使用外鍵約束一个>

#

因此,您的錯誤錯誤代碼:1452。無法新增或更新子行:外鍵約束失敗本質上意味著,您正在嘗試向Ordrelinje新增一行 Ordre 表中不存在符合行(OrderID) 的code>表。

您必須先將該行插入 Ordre 表中。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板