如何把数据批量插入具有Identity列的表

本文介绍如何在SQL中使用IDENTITY_INSERT特性将包含标识字段的数据从一个表复制到另一个表。通过开启此特性并指定所有列的值,可以实现对带有自动增长ID的表进行精确的数据插入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.把表的IDENTITY_INSERT选项设置为ON

2.插入时要指定相应的列名

示例如下:

1.建表,初始化数据:
create table InsertTable1
(
Id int identity(1,1),
Mark varchar(10)
)
create table InsertTable2
(
Id int identity(1,1),
Mark varchar(10)
)
insert into InsertTable2 values ('a'),('b'),('c'),('d'),('e')

2.把InsertTable2的数据插入InsertTable1中:
set IDENTITY_INSERT InsertTable1 on
insert into InsertTable1 (Id,Mark)
    select Id,Mark from InsertTable2
set IDENTITY_INSERT InsertTable1 off
其中IDENTITY_INSERT 的语法为 :
SET IDENTITY_INSERT [ database_name. [ schema_name ] . ] table{ ON | OFF }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值