搜索

首页  >  问答  >  正文

外键约束失败:无法添加或更新子行(错误 1452)

我在 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粉155551728P粉155551728421 天前825

全部回复(1)我来回复

  • P粉410239819
  • 取消回复