1

我有一个带有复合主键的表“tbl_project_user_assignment”。

它由 project_id 和 user_id 组成

这些中的每一个也分别是项目和用户表的外键。

目前,我在此表中有 2 个条目,如下所示...

项目 ID | 用户身份
--------------------
1 | 1
1 | 2

当我运行这个 sql 查询...

插入到 tbl_project_user_assignment (project_id, user_id) VALUES (2, 1);

...我收到以下错误消息:

完整性约束违规:1062 键“FK_project_user”的重复条目“1”

FK_project_user 键是将 project_id 链接到 tbl_project id 的键。

这对我来说没有意义,因为我插入的值是独一无二的......

有任何想法吗?

4

2 回答 2

0

它看起来像FK_project_user一个独特的键。尝试暂时删除该约束并再次执行插入。

如果插入有效,请重新创建约束,确保它不再被标记为unique

于 2011-02-27T20:16:51.917 回答
0

我认为你应该有:

  • 与项目的外键关系
  • 与用户的外键关系
  • 对(项目、用户)的唯一约束
  • 可能是(项目,用户)组合的主键或单独的键字段如果您选择组合 PK,您当然不需要额外的约束。

而且您似乎对用户有一个独特的约束(本身)。

发表show create table声明会更有帮助。

于 2011-02-27T20:23:06.207 回答