SQL中的identity是一個(gè)在表中創(chuàng)建自增長(zhǎng)序列的特性。當(dāng)在表中定義一個(gè)identity列時(shí),每次插入新的數(shù)據(jù)時(shí),該列的值都會(huì)自動(dòng)遞增,并且使用默認(rèn)的步長(zhǎng)為1。
Identity特性通常用于定義主鍵列,以確保每行數(shù)據(jù)都具有唯一的標(biāo)識(shí)符。它可以在創(chuàng)建表時(shí)使用或者在已存在的表中通過修改列屬性來添加。
下面是一些具體的代碼示例來演示如何使用identity特性:
- 在創(chuàng)建表時(shí)添加identity列:
CREATE TABLE Persons ( ID INT IDENTITY(1,1) PRIMARY KEY, FirstName VARCHAR(50), LastName VARCHAR(50) )
登錄后復(fù)制
上述示例中,ID列被定義為identity列,并且使用默認(rèn)的初始值1和步長(zhǎng)1。它作為主鍵列,用于唯一標(biāo)識(shí)每個(gè)人。
- 在已存在的表中添加identity列:
ALTER TABLE Persons ADD ID INT IDENTITY(1,1) PRIMARY KEY
登錄后復(fù)制
上述示例中,我們使用ALTER TABLE語句來向已存在的Persons表中添加一個(gè)新的identity列ID,并將其作為主鍵列。
- 插入新的數(shù)據(jù)時(shí),identity列的值會(huì)自動(dòng)遞增:
INSERT INTO Persons (FirstName, LastName) VALUES ('John', 'Doe') -- 此時(shí)ID列的值為1 INSERT INTO Persons (FirstName, LastName) VALUES ('Jane', 'Smith') -- 此時(shí)ID列的值為2
登錄后復(fù)制
上述示例中,我們向Persons表中插入了兩行新的數(shù)據(jù)。由于ID列是identity列,所以它的值會(huì)自動(dòng)遞增,第一次插入時(shí)為1,第二次插入時(shí)為2。
需要注意的是,每個(gè)表只能有一個(gè)identity列。如果表中已經(jīng)有一個(gè)identity列,但你想在該表中添加另一個(gè)identity列,你可以考慮使用視圖來實(shí)現(xiàn)類似的效果。
總結(jié)起來,identity是SQL中用于創(chuàng)建自增長(zhǎng)序列的特性。它在定義主鍵列時(shí)非常有用,可以確保每條數(shù)據(jù)都有唯一標(biāo)識(shí)符。以上是一些關(guān)于identity的具體代碼示例,希望能幫助你理解和使用它。