1

我有一个 Sql 服务器数据库,其中有三个表:

Affaire:主键(id_affaire)和外键(id_resp)引用表Users,另一个外键(id_project)引用表Project

项目id_project作为主键和id_chef外键引用表用户

用户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

错误的原因是至少有一条记录Affaireid_projecttable 中不存在Project

您可以通过删除或更新违规Affaire记录或插入丢失的Project记录来解决此问题

于 2013-11-07T15:03:49.657 回答
1

在企业管理器中运行以下命令

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

这将向您显示,Affair 表中的行违反了您尝试创建的 FK 约束。您必须先修改或删除这些行,然后才能创建约束。

于 2013-11-07T15:03:53.603 回答