如何组合外键约束中的字段

时间:2013-01-17 20:58:49

标签: mysql sql database foreign-key-relationship

问题表:

QuestionId (PK)  QuestionNo  QuestionContent SessionId
11               1           blah            4
12               2           blah blah       4
13               1           BLAH            5
14               2           BLAH BLAH       5

Image_Question表:

Image_QuestionId (PK) ImageId (FK) SessionId (FK) QuestionNo
4                     6              4              1

会议桌:

SessionId SessionName
4         DFOFK
5         FEOWF

上面有三张桌子。现在,如果您查看SessionId表中的Image Question,它是Session表的外键,这样如果我点击SessionId中的Image_Question值1}}表,它将显示Session表中的Session详细信息。

现在我在Image Question表中有另一列尚未分配外键的列,即QuestionNo字段。现在这不是任何表中的主键,但我需要使用此字段以便知道图像属于哪个问题。无论如何,这不是问题。

我的问题是,如果我只是将QuestionNo表格中的Image_Question设置为FK,那么如果我点击QuestionNo's中的Image_Question值} table,然后它将显示所有会话中QuestionNo的所有1。我不想要这个,我想在问题编号所属的QuestionNo内查找SessionId

所以我的问题是如何在SQL中设置QuestionNo外键,以便它将SessionIdQuestionNo字段连接在一起,以便创建一个唯一的SessionId/QuestionNo约束。

1 个答案:

答案 0 :(得分:1)

使用图像,您知道SessionId和QuestionId,因此您可以先输入NULL问题并获取QuestionId并在图像表中使用它。当您收到问题信息时,您可以更新问题表。

但是,这不是一个好的做法。

在提交问题之前,您不应该将图像提交到问题,这些应该保存在您的业务层中,直到您拥有完整的信息 - 然后将它们提交到pernt存储。