以下に 2 つのデータベース テーブルがあります。
質問表
QuestionId(Pk) SessionId(PK) Question
1 AAA my name is
2 AAA my age is
1 AAB my DOB is
画像_質問表
ImageQuestionId(Pk) ImageId SessionId QuestionId
1 1 AAB 1
2 2 AAA 2
3 3 AAA 1
私がしたいことは、ユーザーが質問表からこの行を削除した場合です:
1 AAB my DOB is
SessionId と Question Id の両方を参照して、Image_Question テーブルの対応する行を削除したいと思います。Question テーブルから削除された行は SessionId = AAB および QuestionId = 1 で構成されているため、SessionId = AAB AND QuestionId = 1 を含む Image_Question テーブルから対応する行を削除する必要があります。画像の質問は以下のとおりです。
1 1 AAB 1
これは、SessionId と QuestionId の両方が質問テーブルから削除された行と一致するためです。
このためのSQLコードの書き方を知っている人はいますか?
アップデート:
以下は私が試したことですか?
ALTER TABLE Image_Question ADD CONSTRAINT FK_SessionQuestion FOREIGN KEY (SessionId,QuestionId) REFERENCES Question (SessionId,QuestionId) ON DELETE CASCADE;