报错:Cannot insert explicit value for identity column in table 't' when identity_insert is set to OFF


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

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

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

  1. set identity_insert on 

看具体的一个例子:

 

  1. create table dbo.t  
  2. (  
  3. id int identity(1,1) not null,  
  4. name varchar(50)  
  5. )  
  6. set identity_insert t on  
  7. insert into t (id, name) values(1, 'sqlstudy')  
  8. set identity_insert t off  

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

 

或者写插入语句时不要把自增的ID加入进去。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM