SQL Server 插入數據時自增加列如何指定數值

SQL Server 表在導入數據時,有時須要將自增加列指定數值,來保證導入先後的數據徹底一致,如何實現?sql

SQL Server 提供了方法:spa

SET IDENTITY_INSERT,容許將顯式值插入表的標識列中

參考文檔:SET IDENTITY_INSERT | Miscosoft Docscode

 

語法:server

SET IDENTITY_INSERT [ database_name . [ schema_name] . ] table { ON | OFF }

用法:blog

-- SET IDENTITY_INSERT to ON.
SET IDENTITY_INSERT dbo.Tool ON
GO

-- Try to insert an explicit ID value of 3.
INSERT INTO dbo.Tool (ID, Name) VALUES (3, 'Garden shovel') GO

-- SET IDENTITY_INSERT to OFF.
SET IDENTITY_INSERT dbo.Tool OFF
GO

 

 注意事項:ci

  • INSERT INTO語句必須輸入列名,不然執行時會報錯「僅當使用了列列表而且 IDENTITY_INSERT 爲 ON 時,才能爲表‘Tool’中的標識列指定顯式值」
  • 一個會話中只有一個表的 IDENTITY_INSERT 屬性能夠設置爲 ON,在設置爲ON、插入數據後,還須要設置該表 IDENTITY_INSERT爲 OFF。
相關文章
相關標籤/搜索