私は私のウェブサイトhoster
で私の生産SQL Server database
上master
とdetail
table
を持っています。多くのインサートは私のAndroid apps
をサービスする私のREST
サービスによって毎日行われます。サービスは、このすべては、時間の99.999%
作品detail table.
だけにmaster
、その後、多くのインサートへの挿入を行い、すべて一度の間、私はこの取得を開始:奇妙な慢性の外部キー制約の問題
INSERT文を競合FOREIGN KEYで制約 "FK_TTLegs_TTMaster"。競合がデータベース "SQL2008R2_797967_golfstats"、テーブル "dbo.TTMaster"、列 'emailaddress'で発生しました。ステートメントは終了されました。 12703032675 =キー:もう一度
は今、私はこの文は、そのようなmaster
レコードがないとき、私はdetail
表にinsert
をやっていると言っていることを実感してみてください。しかし〜がある。
この問題は1年に4〜5回起こり、何が起こっているか把握できませんでした。 DBはSQL Server 2014
です。 emailaddress
はnvarchar 50
です。
これは文字フィールドでフリーテキストフィールドである可能性があるため、 'emailaddress'フィールドの先頭または末尾の空白をチェックしますか?それが原因の一つかもしれません。 – AKS
私はそれがSQL Serverのデフォルトの動作だと思います。マスターテーブルに電子メールアドレスフィールドを定義し、それを詳細テーブルの外部キーとして設定しました。そのため、sql-serverは、マスター表にディテール表のすべてのエントリが存在することを検証します。ありがとう。 – bmsqldev