在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.建议的重复无法解决问题的原因是它具有包含非标识列的表。我的表只有一个标识列。
在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.建议的重复无法解决问题的原因是它具有包含非标识列的表。我的表只有一个标识列。
如果你有这样的定义:
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
我正在尝试在批处理操作中执行此操作。例如。 5行,一个插入。就像我在MySQL上做的那样。 – AngryHacker
@AngryHacker我不认为SQL Server在尝试将_only_插入到自动递增的列时允许这样做。如果你有其他的列,你可以使用MySQL风格的语法。 –
如果您使用的是SQL Server 2008或更高,你的问题会工作。对于2005年和更早的时候,你必须获得更多的创造力。无论如何,这个问题是一个骗局。 –
@TimBiegeleisen它不起作用。我刚刚尝试过。如果你能使它工作,告诉我如何。 – AngryHacker
@TimBiegeleisen具体而言,错误是'表't'中标识列的显式值只能在使用列列表且IDENTITY_INSERT为ON时指定。' – AngryHacker