在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列的值。