在SQL Server中,IDENTITY用于创建自动增长的列,该列的值由数据库自动生成。IDENTITY列主要用于为表中的每一行提供唯一的标识符。
要在SQL Server中创建IDENTITY列,可以使用以下语法:
CREATE TABLE table_name
(
column_name data_type IDENTITY( start_value , increment_value )
)
其中,table_name
是表的名称,column_name
是IDENTITY列的名称,data_type
是列的数据类型,start_value
是IDENTITY列的起始值,increment_value
是IDENTITY列的增量值。
示例:
CREATE TABLE Customers
(
CustomerID int IDENTITY(1,1) PRIMARY KEY,
CustomerName varchar(255) NOT NULL,
City varchar(255)
)
在上面的示例中,CustomerID列被定义为IDENTITY列,并从1开始,每次增加1。它还被指定为主键列。
当插入数据时,可以不指定IDENTITY列的值,数据库会自动为其生成唯一的值。例如:
INSERT INTO Customers (CustomerName, City)
VALUES ('John Doe', 'New York')
此时,CustomerID列的值将会自动生成并插入到表中。
注意事项:
一张表只能有一个IDENTITY列。
一旦创建了IDENTITY列,它的值将自动递增,不需要手动指定。
可以通过设置IDENTITY_INSERT为ON来插入指定的值到IDENTITY列。
可以使用IDENT_CURRENT函数来获取IDENTITY列的当前值。
可以使用SCOPE_IDENTITY函数来获取最近插入行的IDENTITY列的值。