想要将值插入到自动编号(或者说是标识列,IDENTITY)中去,需要设定 SET IDENTITY_INSERT
语法:SET IDENTITY_INSERT 表名 ON / OFF
打开:SET IDENTITY_INSERT 表名 ON
在这种情况下可以将值插入到自动编号中,不过表后面需要指定列
关闭:SET IDENTITY_INSERT 表名 OFF
关闭之后无法将值插入到自动编号中
例子:
SET IDENTITY_INSERT _test ON
GO
insert into _test(id,num) values(100,123)
GO
注意:表_test后面一定要指定列,否则会出现如下错误提示
消息 8101,级别 16,状态 1,第 1 行 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'_test'中的标识列指定显式值。
在不将值插入自动编号中的情况下,若想不指定表列而插入数据,则需要设置SET IDENTITY_INSERT OFF
SET IDENTITY_INSERT _test OFF
insert into _test values(123)