Maison > Questions et réponses > le corps du texte
J'ai créé la table dans MySQL Workbench comme indiqué ci-dessous :
Tableau COMMANDE :
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;
Liste de produits :
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;Tables
et 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;
Donc, lorsque j'essaie d'insérer des valeurs dans le tableau ORDRELINJE
, j'obtiens :
Code d'erreur : 1452. Impossible d'ajouter ou de mettre à jour la ligne enfant : échec de la contrainte de clé étrangère (
srdjank
.Ordrelinje
,约束Ordrelinje_fk
外键 (Ordre
) 参考Ord re
(OrdreID
) )
J'ai vu d'autres articles sur ce sujet mais pas de chance. Est-ce que je supervise quelque chose ou est-ce que je sais quoi faire ?
P粉4102398192023-10-09 10:11:17
Tiré de Utilisation des contraintes de clé étrangère一个>
D'où votre erreur 错误代码:1452。无法添加或更新子行:外键约束失败
本质上意味着,您正在尝试向Ordrelinje添加一行
Ordre
La ligne correspondante (OrderID) n'existe pas dans la table code>.
Vous devez d'abord insérer la ligne dans le tableau Ordre
.