SQL Server 2005 - T-SQL - Как создать int ID? - PullRequest
1 голос
/ 23 июня 2011

Я сталкивался с вещью как NEWID ().Я подумал, что это может быть полезно для вставки значений идентификатора ключа INT в таблицу, но он возвращает float или что-то не очень хорошее для значения столбца ID.Итак, мой вопрос, как получить автоматически сгенерированное значение INT ID для вставки таблицы?

Ответы [ 2 ]

6 голосов
/ 23 июня 2011

Вы определяете столбец типа INT (или SMALLINT, TINYINT, BIGINT) с атрибутом IDENTITY:

CREATE TABLE dbo.YourTable( ID INT IDENTITY(1,1) ......

При такой настройке SQL Server автоматически генерирует последовательные идентификаторы для вашей таблицы, когда строкивставляются в вашу таблицу.

С типом INT, начиная с 1, вы получаете более 2 миллиардов возможных строк - этого должно быть более чем достаточно для подавляющего большинства случаев,С BIGINT вы получите примерно 922 квадриллиона (922 с 15 нулями - 922'000 миллиардов) - вам достаточно ??

Если вы используете INT IDENTITY, начиная с 1,и вы вставляете строку каждую секунду, вам нужно 66,5 лет , прежде чем вы достигнете предела в 2 миллиарда ....

Если вы используете BIGINT IDENTITY, начинающийся с 1, и вставляете одинтысячи строк каждую секунду, вам нужно ошеломить 292 миллиона лет , прежде чем вы достигнете предела в 922 квадриллиона ....

Узнайте больше об этом (со всеми возможными вариантами) в MSDN Books Online .

2 голосов
/ 23 июня 2011
CREATE TABLE Test
(
T_Id int IDENTITY (1, 1) NOT NULL,
LastName varchar(255),
FirstName varchar(255),
)

Вот ссылка на учебник, если вы используете SQL Server http://howtoideas.net/how-to-create-auto-increment-column-in-a-sql-server-table

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