mssql sql server 如何关闭表-标识列的自增长


摘要:
本文主要讲述如何通过 关闭标识列自动增长的功能,实现手动插入标识列数据


具体操作方式如下脚本所示:

   create table A(keyId int identity(1,1),
name varchar(30))
go
insert into A(name)values('a')  ----插入数据,标识列自动生成
----如果此处指定标识列的值,sql脚本将产生错误信息 
/* 消息 544,级别 16,状态 1,第 1 行
当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'A' 中的标识列插入显式值。
*/
go
select * from A  ---查看表A数据
go

SET IDENTITY_INSERT A ON    ---设置显式插入标识列
INSERT INTO A(keyId,name) VALUES(300,'b') 
SET IDENTITY_INSERT A OFF	---关闭显式插入标识列
go
select * from A    --查看数据
go
insert into A(name)values('c')   ---插入数据,发现标识列的起始值自动变为最大的标识列
go
select * from A --查看数据
go
truncate table A
drop     table A 
go

mssql_sql标识列数据插入方法