我第一次使用SQL Server,发现有一个列属性叫做Is Identity。
这是什么意思?
将列属性标记为Is Identity = Yes有什么优点?
我第一次使用SQL Server,发现有一个列属性叫做Is Identity。
这是什么意思?
将列属性标记为Is Identity = Yes有什么优点?
这意味着该列使用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() 获取表中最后插入行的 ID 等。
尝试: 理解 Identity 列
它相当于MySQL的AUTO_INCREMENT属性。通常用于主键列。