Что означает свойство столбца «Идентичность» в SQL Server? - PullRequest
20 голосов
/ 14 февраля 2009

Я впервые использую SQL Server и вижу, что свойство столбца называется Is Identity .

Что это значит?

Каковы преимущества пометки свойства столбца как Является ли идентификатор = Да ?

Ответы [ 3 ]

29 голосов
/ 14 февраля 2009

Это просто означает, что столбец использует функцию Identity(seed, increment) для предоставления значений для первичного ключа (обычно). Он также известен как «Автономер». Вторая строка ниже является примером:

CREATE TABLE Table (
TableID bigint IDENTITY(1,1) NOT NULL,
DateTimeStamp datetime NOT NULL DEFAULT (getdate()),
Data nvarchar(100) NOT NULL,
CONSTRAINT PK_Table PRIMARY KEY CLUSTERED 
(
    TableID ASC
)

Действует как значение по умолчанию для столбца, который увеличивается для каждой записи. Обратите внимание, что вы также можете получить значение, вставленное из SCOPE_IDENTITY (). Не используйте @@ IDENTITY, поскольку оно устарело и может вернуть неправильный результат в случае триггеров или вложенных контекстов.

4 голосов
/ 14 февраля 2009

Флаг, обозначающий столбец идентификаторов - может использоваться в качестве столбца с автоинкрементом (рекомендуется для любой таблицы)

это имеет много последствий, таких как возможность получить идентификатор последней вставленной строки в таблице с помощью @@ IDENTITY или SCOPE_IDENTITY () и т. Д.

Try: Понимание столбцов идентификации

1 голос
/ 29 марта 2009

Это эквивалентно свойству MySQL AUTO_INCREMENT. Обычно используется для столбца первичного ключа

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