1

私は3つのテーブルを持つSqlサーバーデータベースを持っています:

Affaire : 主キー ( id_affaire) と外部キー ( id_resp) テーブル Users への参照、および別の外部キー ( id_project) テーブル Project への参照

Project :id_project主キーおよびid_chef外部キーとしてテーブル Users への参照を使用

ユーザー:id_user主キーです

デモ

問題は、Sql Server が丸で囲まれた関連付けをブロックしたことです。

'Project' table saved successfully
'AFFAIRE' table
- Unable to create relationship 'FK_AFFAIRE_Project'.  
L'instruction ALTER TABLE est en conflit avec la contrainte FOREIGN KEY "FK_AFFAIRE_Project". Le conflit s'est produit dans la base de données "PLUS", table "dbo.Project", column 'id_project'.

このエラーの理由は何ですか? どうすれば修正できますか?

4

2 に答える 2

1

エラーの理由は、 table に存在しないAffaireを持つレコードが少なくとも 1 つあるためです。id_projectProject

問題のあるレコードを削除または更新するかAffaire、欠落しているProjectレコードを挿入することで、これを修正します。

于 2013-11-07T15:03:49.657 に答える
1

Enterprise Manager で次を実行します。

Select * from Affaire a
Where Not exists 
   (Select * From Project
    Where id_project = a.id_project)

これにより、作成しようとしている FK 制約に違反する行が Affair テーブルに含まれていることがわかります。制約を作成する前に、これらの行を変更または削除する必要があります。

于 2013-11-07T15:03:53.603 に答える