Как объявить поле идентификатором в Microsoft SQL Server?

Например, идентификатор столбца. Я хочу, чтобы он начинался с 1, а затем увеличивался на 1 для каждой строки.

Спасибо!

create table TableName ( ID int identity(1, 1) primary key ) 

Здесь важно identity(1, 1) . Первый аргумент представляет начальное значение семени, а второй аргумент представляет собой прирост. Это означает, что первая запись будет иметь значение 1 , и каждая последующая запись увеличит это значение на 1 .

Если бы мы указали, например, (7, 2) , первая запись имела бы значение 7 , то каждая запись увеличивалась бы на 2 (так 7 , 9 , 11 и так далее).

Обратите внимание, что, очевидно, часть primary key не требуется, но столбец идентификатора в таблице (если он есть) обычно является первичным ключом. Если это не в вашем случае, просто удалите эту часть.

установить столбец идентификатора

 CREATE TABLE dbo.Tmp_DataTable ( id int NOT NULL IDENTITY (1, 1) col1 varchar(50) ) 

Для SQL 2005/2008:

В разделе «Свойства столбца» в столбце разверните «Спецификация идентификации», затем измените значение «Истичность» на «Истина».

Программно или вручную?

В SQL Server – щелкните правой кнопкой мыши по таблице, выберите «изменить», щелкните по столбцу в разделе «Спецификация идентификации», установите «Идентичность» в true и оставьте приращение и засеяйте каждый в 1.

(Если вы имели в виду программно … пару человек уже ответили, когда я печатал :))

Interesting Posts

Почему база данных Sql Server занята?

Попытка создания полей на основе case case

Как использовать путь, имеющий более 128 символов в команде «xp_cmdshell» DIR

Усечение секунд и миллисекунд в SQL

Имеет ли «OR» в состоянии INNER JOIN плохую идею?

Как ссылаться на вычисленные поля в отчете с помощью службы отчетов SQL Server

Как избежать двусмысленности здесь?

SQL Query question – Как выбрать группы строк, используя общие черты

Почему SQL Server 2008 Management Studio не имеет опции «Открыть таблицу»,

Хранение файлов Crystal Reports в базе данных?

Могу ли я выбрать и обновить одновременно?

Использовать сумму пополнения или десятичную сумму для поступления в доллары США?

Используя как GUID, так и автоинкрементное целое число

SQL BETWEEN Условное значение оператора в обратном порядке

Соединение TCP / IP с хостом *** не выполнено. Ошибка: нет свободного пространства в буфере (достигнуто максимальное количество подключений?)

Давайте будем гением компьютера.