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

cod*_*ike 81 sql sql-server identity

(在尝试回答另一个问题的过程中提出这个问题)

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

GroupID
-------
1  
2  
3  

其中GroupID是主键,是Identity列.

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

请注意:

INSERT INTO GroupTable() Values ()   
Run Code Online (Sandbox Code Playgroud)

......不行.

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

DJ.*_*DJ. 124

这应该工作:

INSERT INTO GroupTable DEFAULT VALUES 
Run Code Online (Sandbox Code Playgroud)

  • @RomanPekar,在SqlServer 2008及更高版本中可以使用`merge`运算符.例如``使用(values(1),(2),(3))s(n)在1 = 0时合并到TableName中,如果不匹配则插入默认值;` (3认同)

tof*_*fi9 17

干得好:

INSERT INTO GroupTable DEFAULT VALUES
Run Code Online (Sandbox Code Playgroud)