SQL Server 2008 INSERT 语句中行值表达式的数目超出了 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)

查询已成功执行。

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

你可能感兴趣的:(SQL Server 2008 INSERT 语句中行值表达式的数目超出了 1000 行值的最大允许值 的解决方法)