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

本文介绍了一种在遇到自增长字段时,如何正确地将数据从一个表复制到另一个表的方法。通过设置IDENTITY_INSERT为ON,并明确指定新表的所有字段名称,可以成功避免SQL错误并完成数据迁移。

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

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值