“身份”列属性在SQL Server中的含义是什么?

时间:2009-02-14 05:17:46

标签: sql-server database properties

我第一次使用 SQL Server ,我发现列属性名为是身份

这是什么意思?

将列属性标记为 Is Identity = Yes

有什么好处

3 个答案:

答案 0 :(得分:29)

它只是意味着该列使用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,因为它已被折旧,并且在触发器或嵌套上下文的情况下可能返回错误的结果。

答案 1 :(得分:4)

表示标识列的标志 - 可用作自动增量列(建议用于任何表)

它有许多含义,例如能够使用@@ IDENTITY或SCOPE_IDENTITY()等获取表中最后一个插入行的id。

尝试: Understanding Identity Columns

答案 2 :(得分:1)

等同于MySQL AUTO INCREMENT属性。通常用于主键列