2

質問表:

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

上記の3つのテーブルを取得しました。SessionIdここで、テーブル内を見るとImage Question、これはテーブルへの外部キーであるため、テーブル内の値Sessionをクリックすると、テーブルの詳細が表示されます。SessionIdImage_QuestionSessionSession

Image Questionこれで、テーブルに外部キーがまだ割り当てられていない別の列があり、それがQuestionNoフィールドです。これはどのテーブルの主キーでもありませんが、画像がどの質問に属しているかを知るためにこのフィールドを使用する必要があります。とにかくそれは問題ではありません。

私の問題はこれです。テーブルでに設定しただけでQuestionNo、テーブルの値をクリックすると、すべてのセッションにあるすべてのものが表示されます。これは必要ありません。質問番号が属する内を検索したいと思います。Image_QuestionFKQuestionNo'sImage_QuestionQuestionNo1QuestionNoSessionId

したがって、私の質問は、SQLで外部キーを設定して、フィールドとフィールドQuestionNoの両方を結合し、一意の制約を作成する方法です。SessionIdQuestionNoSessionId/QuestionNo

4

1 に答える 1

1

画像では、SessionIdとQuestionIdがわかっているので、最初にNULLの質問でこれを入力し、QuestionIdを取得して、画像テーブルでこれを使用できます。質問情報を取得したら、質問テーブルを更新できます。

ただし、これは良い習慣ではありません。

質問をコミットするまで画像を質問にコミットしないでください。これらは、すべての情報が得られるまでビジネスレイヤーに保持する必要があります。その後、永続的なストレージにコミットします。

于 2013-01-17T22:14:46.840 に答える