TSQL向自增字段中插入值

---以前做过这件事,但是,现在项目中碰到了,一时半会却想不起来~~~

遇到到网上搜搜,并找到http://hi.baidu.com/grrc/blog/item/16d216a85b61bbb6ca130c13.html这篇文章。

现在把该文章的内容摘抄在这里,以作备忘:

通常情况下,不能向 SQL Server 自增字段插入值,如果非要这么干的话,SQL Server 就会好不客气地给你个错误警告:

Server: Msg 544, Level 16, State 1, Line 1
Cannot insert explicit value for identity column in table 't' when identity_insert is set to OFF.

这个错误消息提示我们,如果向 SQL Server 自增字段插入值,需要设置 identity_insert 选项为 on。

set identity_insert on

看具体的一个例子:

create table dbo.t
(
   id    int identity(1,1) not null,
   name  varchar(50)
)
set identity_insert t on

insert into t (id, name) values(1, 'sqlstudy')

set identity_insert t off

注意的是,自增字段插入值后,要及时把 identity_insert 设置为 off。

原文地址:https://www.cnblogs.com/McJeremy/p/1612631.html