私のクエリはMySQLで2つのテーブルから行を削除することはできません
delete ip.*,im.*
from INPUT_MAPPING im
left outer join INPUT_CONFIGURATION ip on(im.INPUT_ID=ip.INPUT_ID)
where ip.INPUT_ID=78
ここINPUT_CONFIGURATIONが親表とINPUT_MAPPINGが子テーブルであると INPUT_IDがINPUT_CONFIGURATIONテーブルとの外部キーの主キーでありますiは
78としてエラー共通INPUT_を有するINPUT_CONFIGURATIONテーブルからINPUT_MAPPINGテーブルから行を削除するだけでなくすることができません。このクエリを使用してINPUT_MAPPINGテーブル
実行後に来るのは
11:19:52 delete ipです。 、im。 1451は、親行を削除または更新できません: 外部キー制約が失敗したIMをINPUT_MAPPINGからは(im.INPUT_ID = ip.INPUT_ID)ここ ip.INPUT_IDは= 78
エラーコードの INPUT_CONFIGURATIONのIPを外部結合左(clover_converter.INPUT_MAPPING、 CONSTRAINT INPUT_MAPPING_ibfk_1 FOREIGN KEY(INPUT_ID)が INPUT_CONFIGURATION(INPUT_ID)を参照)0.0033秒
なぜあなたはdeleteステートメントで左結合を使用しますか?本当に親テーブルのエントリを削除しますか?それはあなたが得るエラーです。 Input_Mappingには、削除した主キーと一致する別のエントリがある可能性があります。 – rbr94
親テーブル(INPUT_CONFIGURATION)と子テーブル(INPUT_MAPPING)の両方からエントリを削除したい.iこのクエリは多くのサイトで検出され、動作しません。感謝 – user2715085
外部キー制約をどのように定義しますか? 'ON DELETE'のアクションは何ですか? – rbr94