外键约束失败:无法添加或更新子行(错误 1452)
P粉155551728
P粉155551728 2023-10-08 23:40:09
0
1
841

我在 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 表中。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板