更新标识列sql

时间:2015-06-30 08:30:12

标签: sql sql-server-2008

如何更新我的标识列标识? 我明白了 Msg 8102,Level 16,State 1,Line 1 无法更新标识栏' Id'。

当我尝试更新ID

update [WarehouseReports].[Reports]
  set Id=Id+1
  where Id=20

1 个答案:

答案 0 :(得分:0)

使用Identity_Insert

print_help()

您当然可以将行的ID设置为21而不是使用Id + 1,就像我在我的示例中所做的那样。

SET IDENTITY_INSERT [WarehouseReports].[Reports] ON update [WarehouseReports].[Reports] set Id=21 where Id=20 SET IDENTITY_INSERT [WarehouseReports].[Reports] OFF 命令会关闭将值插入具有IDENTITY_INSERT [table] ON属性的字段的限制。完成后,您应该始终将其转回IDENTITY