在SQL Server中,IDENTITY用于創(chuàng)建自動增長的列,該列的值由數(shù)據(jù)庫自動生成。IDENTITY列主要用于為表中的每一行提供唯一的標(biāo)識符。
要在SQL Server中創(chuàng)建IDENTITY列,可以使用以下語法:
CREATE TABLE table_name
(
column_name data_type IDENTITY( start_value , increment_value )
)
其中,table_name
是表的名稱,column_name
是IDENTITY列的名稱,data_type
是列的數(shù)據(jù)類型,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。它還被指定為主鍵列。
當(dāng)插入數(shù)據(jù)時,可以不指定IDENTITY列的值,數(shù)據(jù)庫會自動為其生成唯一的值。例如:
INSERT INTO Customers (CustomerName, City)
VALUES ('John Doe', 'New York')
此時,CustomerID列的值將會自動生成并插入到表中。
注意事項:
一張表只能有一個IDENTITY列。
一旦創(chuàng)建了IDENTITY列,它的值將自動遞增,不需要手動指定。
可以通過設(shè)置IDENTITY_INSERT為ON來插入指定的值到IDENTITY列。
可以使用IDENT_CURRENT函數(shù)來獲取IDENTITY列的當(dāng)前值。
可以使用SCOPE_IDENTITY函數(shù)來獲取最近插入行的IDENTITY列的值。