问题表:
QuestionId (PK) QuestionNo QuestionContent SessionId
11 1 blah 4
12 2 blah blah 4
13 1 BLAH 5
14 2 BLAH BLAH 5
图像问题表:
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
值,它将显示Session
表中的Session
详细信息。现在我在
Image Question
表中有另一个列,它还没有分配外键,这就是QuestionNo
字段。现在这不是任何表中的主键,但是我需要使用这个字段来知道图像属于哪个问题。无论如何,这不是问题所在。我的问题是,如果我将
QuestionNo
表中的Image_Question
设置为FK
,那么如果我单击QuestionNo's
表中的Image_Question
值,那么它将在所有会话中显示所有QuestionNo
,即1
。我不想这样,我想查找问题编号所属的QuestionNo
中的SessionId
。所以我的问题是如何在sql中设置
QuestionNo
外键,以便它将SessionId
和QuestionNo
字段连接在一起,从而创建一个唯一的SessionId/QuestionNo
约束。 最佳答案
对于图像,您知道sessionid和questionid,因此您可以先输入一个空问题,然后获取questionid并在图像表中使用它。当你得到问题信息时,你可以更新问题表。
然而,这不是好的做法。
在提交问题之前,您不应该将映像提交给问题,这些映像应该保存在业务层中,直到您拥有全部信息,然后将它们提交给永久ant存储。
关于mysql - 如何在外键约束中组合字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14387994/