Что означает свойство "Идентичность" в SQL Server?
Я использую SQL Server в первый раз, и я вижу, что свойство столбца называется Идентичность.
Что это значит?
В чем преимущества маркировки свойства столбца как Is Identity = Yes?
Ответы
Ответ 1
Это просто означает, что столбец использует функцию 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, поскольку он обесценивается и может возвращать неправильный результат в случае триггеров или вложенных контекстов.
Ответ 2
Флаг с указанием столбца Identity - может использоваться как столбец с автоматическим приращением (рекомендуется для любой таблицы)
у него много последствий, например, возможность получить идентификатор последней вставленной строки в таблице, используя @@IDENTITY или SCOPE_IDENTITY() и т.д.
Try:
Понимание столбцов идентификаторов
Ответ 3
Это эквивалентно свойству MySQL AUTO_INCREMENT. Обычно используется в столбце первичного ключа
Ответ 4
http://sqlskills.com/BLOGS/KIMBERLY/post/Ever-increasing-clustering-key-the-Clustered-Index-Debateagain!.aspx
Ответ 5
Все свойства свойства SQL Server IDENTITY столбцов. И удобная процедура для мониторинга всех столбцов Identity. http://www.sqllion.com/2011/08/identity-in-sql/