SQL Server 2008 INSERT 语句中行值表达式的数目超出了 1000 行值的最大允许值 的解决方法

本文分享了在SQL Server 2008中,当尝试一次性插入超过1000行数据到数据库MF的test表时遇到的问题及解决方案。通过重建表并使用SELECT FROM VALUES的方法,成功绕过了1000行限制。

最近在往SQL Server 2008数据库里插入数据时,有个超过1000条记录集,需要手动插入到一个表里,数据库名为MF,表名为test。

insert into test(name)
values (1),(2),(3),(4),(5),(6),...(1001) --这里是1001条记录

报错如下:
消息 10738,级别 15,状态 1,第 21 行
INSERT 语句中行值表达式的数目超出了 1000 行值的最大允许值。

解决方法如下:
1,在数据库MF里重建test表。
use MF
go

drop table test

create table test(
name nvarchar(50)
)

2,对select使用values,可以超过1000的限制。
INSERT INTO test (name)
SELECT t.name
FROM (VALUES ('1'),('2'),('3'),('4'),('5'),('6'),...('1001'))         --这里是1001条记录
AS t(name)

查询已成功执行。

--希望对遇到此类插入数据问题的朋友有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值