【发布时间】:2016-03-27 05:50:14
【问题描述】:
在 MySQL 中,我可以触发这些语句以一次性插入 5 行:
CREATE TABLE t (id int primary key auto_increment)
INSERT INTO t VALUES (DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT),(DEFAULT)
如何在 MS SQL Server 中做同样的事情?
附:建议的副本不能解决问题的原因是它具有包含非标识列的表。我的表只有一个标识列。
【问题讨论】:
-
如果您使用的是 SQL Server 2008 或更高版本,您的问题将有效。对于 2005 年及更早的年份,您必须获得更多创意。无论如何,这个问题是一个骗局。
-
@TimBiegeleisen 它不起作用。我刚试过。如果你能让它工作,请告诉我如何。
-
@TimBiegeleisen 具体错误是
An explicit value for the identity column in table 't' can only be specified when a column list is used and IDENTITY_INSERT is ON. -
您仍然没有告诉我们您使用的是什么版本的 SQL Server。 IMO 真的很糟糕。
-
您可以尝试关闭自动增量,但随后您将失去 SQL Server 跟踪
id的功能。也许你应该考虑改变你的架构。
标签: sql sql-server insert