Как вставить в таблицу только один столбец IDENTITY? - PullRequest
80 голосов
/ 12 мая 2009

(этот вопрос возник в ходе попытки ответить на этот другой )

Рассмотрим следующую таблицу MS-SQL, которая называется GroupTable:

GroupID
-------
1  
2  
3  

где GroupID - первичный ключ и столбец Identity.

Как вставить новую строку в таблицу (и, следовательно, сгенерировать новый идентификатор) без с использованием IDENTITY_INSERT ON?

Обратите внимание, что это:

INSERT INTO GroupTable() Values ()   

... не будет работать.

edit: здесь мы говорим об SQL 2005 или SQL 2008.

Ответы [ 4 ]

121 голосов
/ 12 мая 2009

Это должно работать:

INSERT INTO GroupTable DEFAULT VALUES 
17 голосов
/ 12 мая 2009

Вот, пожалуйста:

INSERT INTO GroupTable DEFAULT VALUES
3 голосов
/ 28 октября 2016

Можно вставить более одной строки за раз.

Например, чтобы вставить 30 строк. INSERT INTO GroupTable Значения по умолчанию ГО 30

Это вставит 30 строк, увеличивая каждый раз столбец идентификации.

0 голосов
/ 12 мая 2009

Можете ли вы попробовать использовать последовательность или что-то подобное? Где вы выбираете из последовательности, и это даст вам следующее значение в последовательности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...