Fremdschlüsseleinschränkung fehlgeschlagen: Unterzeile kann nicht hinzugefügt oder aktualisiert werden (Fehler 1452)
P粉155551728
P粉155551728 2023-10-08 23:40:09
0
1
748

Ich habe die Tabelle in MySQL Workbench wie unten gezeigt erstellt:

ORDRE-Tabelle:

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;

Produktliste:

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;

und ORDRELINJE Tische:

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;

Wenn ich also versuche, Werte in die ORDRELINJE-Tabelle einzufügen, erhalte ich:

Fehlercode: 1452. Untergeordnete Zeile konnte nicht hinzugefügt oder aktualisiert werden: Fremdschlüsseleinschränkung fehlgeschlagen (srdjank.Ordrelinje,约束 Ordrelinje_fk 外键 (Ordre) 参考 Ord re (OrdreID) )

Ich habe andere Beiträge zu diesem Thema gesehen, aber kein Glück. Übersehe ich etwas oder weiß ich, was zu tun ist?

P粉155551728
P粉155551728

Antworte allen(1)
P粉410239819

取自使用外键约束一个>

因此,您的错误错误代码:1452。无法添加或更新子行:外键约束失败本质上意味着,您正在尝试向Ordrelinje添加一行 Ordre 表中不存在匹配行 (OrderID) 的 code> 表。

您必须首先将该行插入 Ordre 表中。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!