我正在使用SQL Server 2008,而我正在尝试做的是:
update Daily set ReferenceNo = ReferenceNo + 100000
我不能这样做,因为这是字段如下:[ReferenceNo] [bigint] IDENTITY(1,1) NOT NULL,
如果我尝试更改删除自动增量并保存表格以执行我需要执行的操作,我会收到以下错误:
有没有办法可以在不丢桌的情况下做到这一点?
答案 0 :(得分:5)
这是SQL Server Management Studio的安全功能 - 但您可以将其关闭: - )
转到Tools > Options
然后:
禁用该选项后,您应该能够在视觉设计器中执行您想要执行的操作。
答案 1 :(得分:2)
我已经弄明白了,对于遇到此问题的其他人,请执行以下操作:
在SQL Server 2008中,转到工具>选项>设计师>表和数据库设计者>防止保存需要重新创建表的更改。关闭此选项,您将能够再次保存表格。
答案 2 :(得分:0)
错误显示IDENTITY列也是您的群集密钥。
查看this answer上一个问题。
它变得复杂,因为它是一个IDENTITY列,按设计不能UPDATEd 由于您正在更新群集密钥,因此实际上会删除并重新插入数据。鉴于它必须重写所有数据,只需重新创建表 - 触发器,同义词,函数,模式绑定视图和外键 - 就好了。