sql server在導入數據的時候,有時候要考慮id不變,就要先取消自動增長再導入數據,導完后恢復自增。
比如網站改版從舊數據庫導入新數據庫,數據庫結構不相同,可能會使用insert into xx select ..from yy的語句導入數據。
每次都在sql studio里面手動修改太麻煩,不如寫兩個語句來的方便,將語法記錄下來,所謂好記性不如爛筆頭,一面日后又忘記了:
SET IDENTITY_INSERT
允許將顯式值插入表的標識列中。
語法
SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }
實例:
set IDENTITY_INSERT products on //設置為允許手動插入值
INSERT INTO products (id,product) VALUES (2,'screwdriver') // OK
set IDENTITY_INSERT products off //設置為禁止手動插入值