insert into OrderList(id,OrderName) values(4520,'電子傳票訂單')
執行上面語句會提示一個錯誤:


修改方法如下:
--允許將顯式值插入表的標識列中 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
語句,則
Microsoft®
SQL
Server™
返回一個錯誤信息,指出
SET
IDENTITY_INSERT
已設置為
ON
並報告此屬性已設置為
ON
的表
(2) 如果插入值大於表的當前標識值,則SQL
Server
自動將新插入值作為當前標識值使用
(3) SETIDENTITY_INSERT
的設置是在執行或運行時設置,而不是在分析時設置
(1) 任何時候,會話中只有一個表的
(2) 如果插入值大於表的當前標識值,則
(3) SET
上面執行語句中:把要執行的語句前后加上該設置,當然上面針對事一條記錄插入操作,在這條記錄插入操作后,如果再次插入數據時,沒有啟用該設置,Orderid主鍵列會根據上面自定義表示4520,自動增長到 4521 這個操作很靈活關鍵看個人怎么利用.