0

これが私のoption_table

OptionID  QuestionID  optionName OptionStatus  count Questioncount  percentage
  30          33          a          1            4      8             50
  31          33          b          1            4      8             50    <-----
  71          48          k          1            3      7             42
  72          48          p          1            4      7             58    <-----

ここで私はにいくつかの値を挿入しようとしていvoting_tableます。

その挿入を細かく

insert into Voting_Table (QuestionID,OptionID)values('33','31')

(影響を受ける1行)

上記と同じものを挿入しようとしています

insert into Voting_Table (QuestionID,OptionID)values('48','72')

しかし、その表示エラー

メッセージ547、レベル16、状態0、1行目INSERTステートメントがFOREIGNKEY制約「FK__Voting_ta_Optio_67B44C51」と競合しまし。データベース「webdhabaordering_10-10-12」、テーブル「sqldbarv2008.Options_table」、列「OptionID」で競合が発生しました。ステートメントは終了されました。

どうすればこの問題を取り除くことができますか?貴重なご意見をいただければ幸いです。

4

2 に答える 2

1

主キーを持たないOptions_tableという名前のオプションテーブルがあり、「オプションID」の値が72である可能性があります。

これがエラーがある理由です。

プライマリキーと外部キーについてさらに学習します。

http://www.w3schools.com/sql/sql_foreignkey.asp

于 2013-02-14T07:35:35.900 に答える
1

sqldbarv2008.Options_tableの競合のOptionIDは、言い換えれば存在しないことを意味します。最後の行をオプションテーブルにまだコミットしていない可能性がありますか?それが発生した場合、それはビューに表示されますが、コミットするまで、基になるデータベーステーブルは値を取得しません。

于 2013-02-14T07:43:08.253 に答える