今天来介绍一下SET IDENTITY_INSERT
MSSQL 为表中的标识列插入显式值
SET IDENTITY_INSERT TB ON; SET IDENTITY_INSERT TB OFF;
其中:
SET IDENTITY_INSERT TB ON;
是打开表示插入显示值
SET IDENTITY_INSERT TB OFF;
是关闭插入显示值
具体用法来做个简单的小例子:
1)首先我们来创建一个关系表:其中id是自动增长字段
CREATE TABLE TB (id int IDENTITY PRIMARY KEY, tb_valuesvarchar(40))
2)然后我们想表中插入一条数据
INSERT INTO TB (id, tb_value) VALUES(2, 'mydata')
执行结果会报错:结果会导致错误:“当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'products' 中的标识列插入显式值。”
3)对上述SQL代码稍微改动
SET IDENTITY_INSERT TB ON INSERT INTO TB(id, tb_value) VALUES(2, 'mydata') SET IDENTITY_INSERT TB OFF
执行成功