SQL Server 中數據表往往會設置自增列,常見的比如說 首列的ID列。 往數據表插入新數據的時候,自增列是跳過的,無需插入即會按照設置的自增規則進行列增長。那么,如果我們想往自增列插入我們指定的數據時該怎么做呢?
一:建立一張簡單的測試表
CREATE TABLE randy_test (id INT IDENTITY(1,1), num INT)
二:如果強行插入數據時:
INSERT INTO randy_test VALUES (1,11) 消息 8101,級別 16,狀態 1,第 1 行 僅當使用了列列表並且 IDENTITY_INSERT 為 ON 時,才能為表'randy_test'中的標識列指定顯式值。
可以看到,數據庫提示 不能給標識列指定顯示值,除非 將數據表設置IDENTITY_INSERT為ON
三:設置標識列插入開關 開啟,然后執行我們的插入操作
SET IDENTITY_INSERT randy_test ON INSERT INTO randy_test (id,num) VALUES (1,11); INSERT INTO randy_test (id,num) VALUES (2,22); set identity_insert randy_test OFF (1 行受影響) (1 行受影響)
結果如下圖:
SELECT *FROM randy_test AS rt
id num
1 11
2 22