如何只用一个IDENTITY列插入表格?

时间:2009-05-11 22:08:35

标签: sql sql-server identity

(在尝试回答this other one

的过程中提出这个问题

考虑以下名为GroupTable的MS-SQL表:

GroupID
-------
1  
2  
3  

其中GroupID是主键,是Identity列。

如何在表中插入新行(从而生成新ID)不使用使用IDENTITY_INSERT ON?

请注意:

INSERT INTO GroupTable() Values ()   

......将无效。

编辑:我们在这里谈论SQL 2005或SQL 2008。

4 个答案:

答案 0 :(得分:121)

这应该有效:

INSERT INTO GroupTable DEFAULT VALUES 

答案 1 :(得分:17)

你走了:

INSERT INTO GroupTable DEFAULT VALUES

答案 2 :(得分:3)

一次可以插入多行。

例如,插入30行。 插入GroupTable默认值 GO 30

这将通过每次递增标识列来插入30行。

答案 3 :(得分:0)

您可以尝试使用序列或类似的东西吗?从序列中选择的位置,它将为您提供序列中的下一个值。