SQL最简单的更新INT标识列的方法

时间:2011-12-23 16:47:53

标签: sql sql-server-2005

我有一个名为fixedID的列,它的当前值为2,我想将此值更新为42。做这个的最好方式是什么。我想尽可能简单地做这个修改。但是,如果我可以在执行选择插入时执行此操作,那也很棒。

update tblFixedId
set FixedId = (FixedId + 400)

可以在这里更改值吗?

Select * INTO mynewTable from myOldertable

1 个答案:

答案 0 :(得分:0)

标识列在SQL Server中不可更新。

以实际UPDATE而不是DELETE ... INSERT执行此操作的唯一方法是使用ALTER TABLE ... SWITCH将列标记为不再是IDENTITY列, UPDATE然后ALTER TABLE ... SWITCH再次将列重新标记为IDENTITY(例如,第一轮的代码查看this Connect Item上的变通方法以及第二种方式{{3 }})。

请注意,在identity列是聚集索引键的常见方案中,Update可能会以INSERT ... DELETE的形式实现。