'How to insert into a table with just one IDENTITY column?
(Came up with this question in the course of trying to answer this other one)
Consider the following MS-SQL table, called GroupTable:
GroupID ------- 1 2 3
where GroupID is the primary key and is an Identity column.
How do you insert a new row into the table (and hence generate a new ID) without using IDENTITY_INSERT ON?
Note that this:
INSERT INTO GroupTable() Values ()
... won't work.
edit: we're talking SQL 2005 or SQL 2008 here.
Solution 1:[1]
Here you go:
INSERT INTO GroupTable DEFAULT VALUES
Solution 2:[2]
It is possible to insert more than one row at a time.
For e.g., to insert 30 rows. INSERT INTO GroupTable DEFAULT VALUES GO 30
This will insert 30 rows by incrementing the identity column each time.
Solution 3:[3]
Can you try using a Sequence or something similar? Where you select from a Sequence and it will give you the next value in the sequence.
Solution 4:[4]
This will work actually--
insert into TABLE default values
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | tofi9 |
| Solution 2 | RMK |
| Solution 3 | Mike Pone |
| Solution 4 | manoj rajupeta |
