MSSQL-mssql 如何更新标识列

MSSQL-mssql 如何更新标识列

浮生未歇 发布于 2017-08-29 字数 220 浏览 1018 回复 1

update book set bookid=46080 where bookid=72708
其实bookid为自增长列,执行报如下错误”无法更新标识列 'bookid'。“
通过设置identity_insert为on依然不行。
set identity_insert booklistinfo ON;

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜柠檬 2017-09-04 1 楼

----允许对系统表进行更新
exec sp_configure 'allow updates',1
reconfigure with override
GO

----取消标识列标记
update syscolumns set colstat = 0 where id = object_id('tablename') and colstat = 1
GO

--插入id=8001-8003的行
...

----恢复标识列标记
update syscolumns set colstat = 1 where id = object_id('tablename') and name = '标识列名称'

----重新设置标识的起始值
DBCC CHECKIDENT (表名称, RESEED, 10003)

----禁止对系统表进行更新
exec sp_configure 'allow updates',0
reconfigure with override
GO
这种方法蛮繁锁的。