仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'XXX'中的标识列指定显式值。

(来自:https://zhidao.baidu.com/question/494717175.html)第一条回复,原因和例子都有了,解释的很好。

插入数据时,自增长列是系统自动处理,不需要你来指定数值,你也指定不了。只有将IDENTITY_INSERT 为 ON 时插入数据时,自增长列你才可以指定一个值
比如我有一个表PZ,有如下列XH,ID,INX,KMID,FZZID,CODE ,JFJE,DFJE,RQ,ZY其中XH是自增长,正常插入数据时
insert PZ (ID,INX,KMID,FZZID,CODE ,JFJE,DFJE,RQ,ZY) VALUES(......)不需要指定XH列

如果将IDENTITY_INSERT打开
set IDENTITY_INSERT PZ ON
插入数据时就可以给XH列指定值
INSERT PZ (XH,ID,INX,KMID,FZZID,CODE ,JFJE,DFJE,RQ,ZY) VALUES(指定表中没有的数值,24389,3,1524,1,'0109',0,0,'2011.1.29','JK')
关闭IDENTITY_INSERT
SET IDENTITY_INSERT PZ OFF

posted @ 2019-08-28 16:07  闲得无聊敲代码  阅读(3186)  评论(0编辑  收藏  举报