在MySQL中,當我嘗試做:我瘋了,試圖解決一個錯誤,但我不能。用mysql。執行INSERT INTO時出現外鍵錯誤。
INSERT INTO Comandes_Productes
(Id_Comanda
,Id_Producte
)VALUES( '60', '10009') - >(或其他值)
例如,我得到此錯誤消息:#1452 - 不能添加或更新子行,外鍵約束失敗(cafeteria
comandes_productes
,約束comandes_productes_ibfk_2
外鍵(Id_Producte
)參考文獻comandes
(Id_Comanda
)ON UPDATE CASCADE)
我試着做了很多解決方案都是提出了下一個環節,但我也沒有解決這個錯誤。
Mysql error 1452 - Cannot add or update a child row: a foreign key constraint fails
我將讓你的代碼,看看我在裏面有一個錯誤。
創建表:
CREATE TABLE Comandes (
Id_Comanda INTEGER(9) AUTO_INCREMENT,
Quantitat INTEGER(4),
Id_Proveidor INTEGER(9) NOT NULL,
Data DATE,
PRIMARY KEY (Id_Comanda),
FOREIGN KEY (Id_Proveidor) REFERENCES Proveidors(Id_Proveidor) ON UPDATE CASCADE
) CHARACTER SET utf8 COLLATE utf8_spanish_ci;
CREATE TABLE Productes (
Id_Producte INTEGER(9) AUTO_INCREMENT,
Marca VARCHAR(15),
Nom_Producte VARCHAR(30),
Preu_Producte FLOAT(4,2),
Quantitat INTEGER(4),
Descripcio VARCHAR(50),
Id_Proveidor INTEGER(9),
PRIMARY KEY (Id_Producte)
) AUTO_INCREMENT=10001 CHARACTER SET utf8 COLLATE utf8_spanish_ci;
CREATE TABLE Comandes_Productes (
Id_Comanda INTEGER(9),
Id_Producte INTEGER(9),
PRIMARY KEY (Id_Producte, Id_Comanda),
FOREIGN KEY (Id_Producte) REFERENCES Productes (Id_Producte) ON UPDATE CASCADE,
FOREIGN KEY (Id_Producte) REFERENCES Comandes (Id_Comanda) ON UPDATE CASCADE
) CHARACTER SET utf8 COLLATE utf8_spanish_ci;
是的,我已經有了表 「Comandes」 和 「Productes」 在foreing鍵的值。所有的表都與InnoDB一起,我也嘗試刪除所有數據庫並創建其他時間,但是沒有...我看到表格的規格也都一樣。
在我失敗了嗎?請幫幫我!我不能繼續我的項目...
OMG ...我失去了很多時間,這是一個非常非常愚蠢的錯誤... :(。謝謝你很多,YK1 – jordi159
很高興幫助。乾杯! – YK1