我的MS sql Server 2005表中有一个主键表.我想禁用它.现在我收到错误:
违反PRIMARY KEY约束’PK_Name’.无法在对象’dbo.Table’中插入重复键.
我希望不会发生此错误,并且与没有约束的普通列一样使用PRIMARY KEY,并且在对其进行更改后恢复此约束.如何禁用此约束?
我希望在PRIMARY KEY约束被禁用时执行的查询很复杂并且更改主键列中的值.在此查询的某些点上,当主键列中存在重复值时,它会遇到这种情况.但在我的查询结束时,我的所有值都是唯一的.
我对这个约束知之甚少,因为我不是这个表的设计者.我有它的名字,但我现在不知道它是否已经聚集等等(这个专栏的配置是什么).
解决方法
没有主键的关系表是一件非常糟糕的事情.每一行必须以某种方式独特.如果没有候选键被指定为主键,则整行必须是唯一的.
我不确定为什么你必须删除一个主键约束,但我会考虑这样做而不用其他候选键替换它是一个应该被调查的红旗.