我正在使用 SQL Server 2008,我想做的是:
update Daily set ReferenceNo = ReferenceNo + 100000
我不能这样做,因为这是字段如下:[ReferenceNo] [bigint] IDENTITY(1,1) NOT NULL,
如果我尝试更改删除自动增量并保存表以执行我需要执行的操作,则会收到以下错误:
有没有办法在不丢桌子的情况下做到这一点?
我正在使用 SQL Server 2008,我想做的是:
update Daily set ReferenceNo = ReferenceNo + 100000
我不能这样做,因为这是字段如下:[ReferenceNo] [bigint] IDENTITY(1,1) NOT NULL,
如果我尝试更改删除自动增量并保存表以执行我需要执行的操作,则会收到以下错误:
有没有办法在不丢桌子的情况下做到这一点?
It's safety feature of SQL Server Management Studio - but you can turn it off :-)
Go to Tools > Options
and then:
After you've disabled that option, you should be able to do what you want to do in the visual designer.
我已经弄清楚了,对于遇到此问题的其他人,请执行以下操作:
在 SQL Server 2008 中,转到工具 > 选项 > 设计器 > 表和数据库设计器 > 防止保存需要重新创建表的更改。关闭此选项,您将能够再次保存表格。
该错误表明 IDENTITY 列也是您的集群键。
查看上一个问题的答案。
它变得复杂,因为它是一个 IDENTITY 列,设计上不能更新。
因为您正在更新集群密钥,所以数据实际上已被删除并重新插入。鉴于它必须重写所有数据,只需重新创建表(触发器、同义词、函数、模式绑定视图和外键除外)就不再麻烦了。