2015-12-21 84 views
4

在MySQL中,我能火过这些语句中的一个镜头插入5行:如何批量插入数据?

CREATE TABLE t (id int primary key auto_increment) 
INSERT INTO t VALUES (DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT) 

我怎样才能做到在MS SQL Server中的同样的事情?

P.S.建议的重复无法解决问题的原因是它具有包含非标识列的表。我的表只有一个标识列。

+0

如果您使用的是SQL Server 2008或更高,你的问题会工作。对于2005年和更早的时候,你必须获得更多的创造力。无论如何,这个问题是一个骗局。 –

+0

@TimBiegeleisen它不起作用。我刚刚尝试过。如果你能使它工作,告诉我如何。 – AngryHacker

+0

@TimBiegeleisen具体而言,错误是'表't'中标识列的显式值只能在使用列列表且IDENTITY_INSERT为ON时指定。' – AngryHacker

回答

3

如果你有这样的定义:

CREATE TABLE t (id int IDENTITY(1,1) PRIMARY KEY) 

然后,你可以这样做:

INSERT t DEFAULT VALUES 
INSERT t DEFAULT VALUES 
INSERT t DEFAULT VALUES 
INSERT t DEFAULT VALUES 
INSERT t DEFAULT VALUES 
+0

我正在尝试在批处理操作中执行此操作。例如。 5行,一个插入。就像我在MySQL上做的那样。 – AngryHacker

+0

@AngryHacker我不认为SQL Server在尝试将_only_插入到自动递增的列时允许这样做。如果你有其他的列,你可以使用MySQL风格的语法。 –