【发布时间】:2015-02-20 13:47:36
【问题描述】:
我遇到了唯一密钥违规,我不知道为什么,这是我的情况。 我有一个包含以下字段的表格:
ID, LocationID, Name, Description, Dewey
ID 显然是主键,LocationID 是链接到Location 表的外键,其他字段只是varchar 字段,与它们没有关联。
当我插入LocationID 和Name 与表中另一行具有相同值的行时,我收到此错误:
违反 UNIQUE KEY 约束“IX_InternalLocation”。无法在对象“dbo.InternalLocation”中插入重复键。声明已终止。
如果其中任何一个字段不同,我可以插入记录没有问题。这对我来说似乎很奇怪,因为这些行都不是表的唯一标识符。
由于某种原因,数据库似乎认为这些字段一起形成了一个键,但这不是应该的,当我查看表属性时,它不是这样。任何帮助将不胜感激。
【问题讨论】:
-
检查一下 IX_InternalLocation 的定义是什么,或者更确切地说在这里发布整个表的定义。
-
一张表可能有多个唯一键/索引,听起来就是这种情况。
-
投反对票?真的为什么你会否决这个问题??