Что означает свойство столбца "is Identity" в SQL Server?


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

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

Каковы преимущества маркировки свойства столбца как is Identity = Yes ?

5   20   2009-02-14 08:17:45

5 ответов:

Это просто означает, что столбец использует функцию 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, так как он обесценивается и может вернуть неверный результат в случае триггеров или вложенных контекстов.

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

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

Попробуйте: Понимание Столбцов Идентичности

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

Все функции свойства идентичности столбцов SQL Server. И удобная процедура для отслеживания всех столбцов идентификации. http://www.sqllion.com/2011/08/identity-in-sql/