程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 當 IDENTITY_INSERT 設置為 OFF 時,不能向表 OrderList 中的標識列插入顯式值

當 IDENTITY_INSERT 設置為 OFF 時,不能向表 OrderList 中的標識列插入顯式值

編輯:關於SqlServer

問題描述:在SQL SERVER 2008中,向數據表中字段插入數據時,會報錯,錯誤如下:

  當 IDENTITY_INSERT 設置為 OFF 時,不能向表 'OrderList' 中的標識列插入顯式值。

解決方案:

 --允許將顯式值插入表的標識列中 ON-允許  OFF-不允許
 set identity_insert OrderList ON--打開
insert into OrderList(id,ordername,createdate) values(4520,'set',getdate()) set identity_insert OrderList OFF--關閉

在這個執行插入語句時,多了一個開關設置,設置如下:

 --語法:
 
 SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF } 
 允許將顯式值插入表的標識列中
 
 參數說明:
 database:針對數據庫
 table:針對某張表
 
 ON:允許插入顯式值插入標識列
 OFF:不允許

注意:

  (1))任何時候,只有一個表的 IDENTITY_INSERT 屬性可以設置為 ON。如果某個表已將此屬性設置為 ON,並且為另一個表發出了 SET IDENTITY_INSERT ON 語句,則返回一個錯誤信息,指出 SET IDENTITY_INSERT 已設置為 ON 並報告此屬性已設置為ON的表。

  (2)如果插入值大於表的當前標識值,則 SQL Server 自動將新插入值作為當前標識值使用。

  (3)SET IDENTITY_INSERT 的設置是在執行或運行時設置,而不是在分析時設置。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved