我使用带有唯一键约束的列(theId)中的重复项将几行插入到表中。为此,我将IDENTITY_INSERT设置为on。
我尝试了同样的技术来更新,因为我需要更改那些dupe值,但是它不起作用:
SET IDENTITY_INSERT mytable OFF
update mytable set
theId = 5
WHERE mytableId in (40, 41)
SET IDENTITY_INSERT mytable ON错误:违反唯一键约束'XI_mytale_mytableId_othercolumn_U‘。无法在对象'dbo.mytable‘中插入重复键。
有什么想法可以通过更新来完成吗?
发布于 2013-10-25 19:05:13
我认为您混淆了一个Identity列,在该列中,您在设置SET IDENTITY_INSERT mytable之后设法手动添加值;在该列上定义了一个具有唯一约束的列。具有唯一约束的列将永远不允许您添加重复值。
如果您确实希望能够在具有唯一约束的列中添加重复的值,则可以简单地删除唯一约束,因为当您没有唯一的值时,为什么要有唯一的约束。
您可以使用以下语句来显示唯一约束,
ALTER TABLE TableName
DROP CONSTRAINT uc_ConstraintNamehttps://stackoverflow.com/questions/19597421
复制相似问题