一般情况,我们是这样把数据复制到现有表中去的
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
注1:
set identity_insert new_table_name ON
注2:new_table_name(FDetailID,FID,FENTRYID,FITEMCLASSTYPE,FITEM)
所有字段名都写上,这步很关键
想关闭的时候,执行
set identity_insert new_table_name off