参考链接:https://msdn.microsoft.com/en-us/library/ms188059.aspx
当我们往一个带有identity列的表中插入行时,会报错:
Msg 544,Level 16, State 1,Line 8
Cannot insert explict value for identity column in table XXX when IDENTITY_INSERT is set to OFF.
这个时候,SET IDENTITY_INSERT选项就出场啦!下面就来介绍一下。
SET IDENTITY_INSERT:
允许将显示值插入到表的标识列中
语法:
SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF }
注意:
同一个session中任何时候只能有一张表设置了IDENTITY_INSERT选项为ON。如果某张表已经开启了该选项,再去为另一张表开启该选项则会报错。
举例:
create table #test1
(
id int identity(1,1)
)