我第一次使用 SQL Server ,我发现列属性名为是身份。
这是什么意思?
将列属性标记为 Is Identity = Yes ?
有什么好处答案 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。
答案 2 :(得分:1)
等同于MySQL AUTO INCREMENT属性。通常用于主键列