mysqlで、私がやろうとすると:
INSERT INTO Comandes_Productes
( Id_Comanda
, Id_Producte
) VALUES ('60', '10009') --> (またはその他の値)
たとえば、次のエラー メッセージが表示されます: #1452 - 子行を追加または更新できません: 外部キー制約が失敗しました ( cafeteria
. comandes_productes
, CONSTRAINT comandes_productes_ibfk_2
FOREIGN KEY ( Id_Producte
) REFERENCES comandes
( Id_Comanda
) ON UPDATE CASCADE)
次のリンクで提案されている多くの解決策を実行しようとしましたが、エラーも解決しませんでした。
Mysql エラー 1452 - 子行を追加または更新できません: 外部キー制約が失敗します
エラーがあるかどうかを確認するために、コードを取得します。
テーブルの作成:
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」にはすでにキーの値があります。すべてのテーブルはInnoDBにあり、データベースをすべて削除して別の機会に作成しようとしましたが..何もありません...テーブルの仕様を見て、すべて同じです。
私は何に失敗しますか?私を助けてください!プロジェクトを続行できません...