SQL--复制数据到现有表&&&表*消息 8101,级别 16,状态 1,第 1 行 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表‘。。。。。‘中的标识列指定显式值。*

一般情况,我们是这样把数据复制到现有表中去的

INSERT INTO  new_table_name
SELECT * 
FROM old_table_name

但是,当有自增长字段时,就会提示报错,
消息 8101,级别 16,状态 1,第 1 行
仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表’。。。。。'中的标识列指定显式值。

这个时候,我们要对语句进行小的修改:

set identity_insert  new_table_name ON
INSERT INTO  new_table_name(FDetailID,FID,FENTRYID,FITEMCLASSTYPE,FITEM)
SELECT * 
FROM old_table_name
1set identity_insert  new_table_name ON2:new_table_name(FDetailID,FID,FENTRYID,FITEMCLASSTYPE,FITEM)
     所有字段名都写上,这步很关键

想关闭的时候,执行

set identity_insert  new_table_name off

猜你喜欢

转载自blog.csdn.net/Mimo_YY/article/details/116749263