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 //设置为禁止手动插入值