Saya mencipta jadual dalam MySQL Workbench seperti yang ditunjukkan di bawah:
ORDRE jadual:
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;
Senarai Produk:
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;
dan ORDRELINJE jadual:
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;
Jadi apabila saya cuba memasukkan nilai ke dalam jadual ORDRELINJE
saya mendapat:
Kod ralat: 1452. Tidak dapat menambah atau mengemas kini baris anak: kekangan kunci asing gagal (
srdjank
.Ordrelinje
,约束Ordrelinje_fk
外键 (Ordre
) 参考Ord re
(OrdreID
) )
Saya telah melihat siaran lain mengenai topik ini tetapi tidak berjaya. Adakah saya mengawasi sesuatu atau tahu apa yang perlu dilakukan?
Diambil daripada Menggunakan Kekangan Utama Asing一个>
Oleh itu ralat anda
错误代码:1452。无法添加或更新子行:外键约束失败
本质上意味着,您正在尝试向Ordrelinje添加一行
Ordre
Baris yang sepadan (OrderID) tidak wujud dalam kod> jadual.Anda mesti memasukkan baris dahulu ke dalam jadual
Ordre
.