0

FK を定義するためにすべてのテーブルを変更しており、このテーブルの studentRsp を試行するとエラーが発生します。

ALTER TABLE StudentRsp
add CONSTRAINT fk_rspDate
  FOREIGN KEY (rspDate)
  REFERENCES LecturerRsp(rspDate);

エラーが発生しています

エラー メッセージ: 外部キー 'fk_rspDate' の参照列リストと一致する参照テーブル 'LecturerRsp' に主キーまたは候補キーがありません。制約を作成できませんでした。以前のエラーを参照してください。

rspDate は、LecturerRsp の主キーとして定義されます

4

2 に答える 2

0

エラーメッセージは実際にはかなり明確です-それを読んでください...

*参照テーブル'LecturerRsp'には、外部キー'fk_rspDate'の参照列リストと一致する主キーまたは候補キーがありません。*

LecturerRspテーブルとその列を参照したいのですrspDateが、このメッセージは明確に示しています。rspDateは、そのテーブルの主キーではなく、一意のインデックス/制約の一部でもありません。

これら2つのいずれかは、外部キーからその列を参照できるようにするための要件です。

これを修正するには:

  • 主キーをLecturerRspon列に変更しますrspDate
  • または(可能であれば)その列に一意のインデックスを作成します

これらの2つのいずれも実行できない場合、外部キーからその列を参照することはできません。

于 2011-09-21T04:48:02.247 に答える
0

LecturerRsp テーブルに存在しないフィールドを持つ StudentRsp の行を探します。つまり、制約では、外部キー列のすべてのフィールドが主キー列のフィールドと一致する必要があり、LecturerRsp には存在しないキーが StudentRsp に存在します。

例:

LecturerRsp         StudentRsp
 pk_Col1             fk_Col1
  1                     1
  2                     2
  3                     4
  4                     5 ***
于 2011-09-21T04:43:49.743 に答える