我在下面有 2 个数据库表:
问题表
QuestionId(Pk) SessionId(PK) Question
1 AAA my name is
2 AAA my age is
1 AAB my DOB is
Image_问题表
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 表中的相应行。由于问题表中删除的行由 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;