我有一个名为fixedID的列,它的当前值为2
,我想将此值更新为42
。做这个的最好方式是什么。我想尽可能简单地做这个修改。但是,如果我可以在执行选择插入时执行此操作,那也很棒。
update tblFixedId
set FixedId = (FixedId + 400)
可以在这里更改值吗?
Select * INTO mynewTable from myOldertable
答案 0 :(得分:0)
标识列在SQL Server中不可更新。
以实际UPDATE
而不是DELETE ... INSERT
执行此操作的唯一方法是使用ALTER TABLE ... SWITCH
将列标记为不再是IDENTITY
列, UPDATE
然后ALTER TABLE ... SWITCH
再次将列重新标记为IDENTITY
(例如,第一轮的代码查看this Connect Item上的变通方法以及第二种方式{{3 }})。
请注意,在identity
列是聚集索引键的常见方案中,Update
可能会以INSERT ... DELETE
的形式实现。