簡體   English   中英

SQL Server中的自動增量主鍵(長唯一代碼)

[英]Auto increment primary key in SQL Server (long unique code)

我需要在DB表中添加新列,但需要自動增量(主鍵)。 我可以用這個:

ALTER TABLE [yourTable] ADD ID INT IDENTITY(1,1)

但這會創建獨特的整數1,2,3等但我想創建長的唯一數字例如:0542365或字母A546980它是否可行?

一種可靠而美觀的方法:

  • ID INT IDENTITY(1,1)列,用於使SQL Server處理數值的自動增量
  • 計算的持久列,將該數值轉換為您需要的值

試試這個:

CREATE TABLE dbo.YourTable
  (ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
   AlphaID AS 'A' + RIGHT('00000000' + CAST(ID AS VARCHAR(8)), 8) PERSISTED,
   .... your other columns here....
  )

現在,每次在YourTable插入一行而不指定IDAlphaID值:

INSERT INTO dbo.YourTable(Col1, Col2, ..., ColN)
VALUES (Val1, Val2, ....., ValN)

然后SQL Server將自動安全地增加您的ID值, AlphaID將包含A0000001A0000002 ,...... A0000002 - 自動,安全,可靠,無重復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM