[英]Generate unique ID when adding a row of data to SQL Server database using Visual Basic
我目前正在為我未來的業務編寫庫存程序。 我已經可以添加、刪除、更新我的服務器了。
我的問題是,當我嘗試將日期添加到我的表時,我想設置一個唯一的 ID,如“ID-0012”或類似的東西。 目前我只得到 ID = 1,2,3,4 ...
我的表由 ID、名稱、描述、價格、日期組成。 我目前正在通過谷歌搜索答案,我發現我需要在 SQL Server 中對此進行編碼。 我嘗試使用 uniqueidentifier 但我收到操作類型沖突的錯誤。
最好的解決方案是使用
ID INT IDENTITY(1,1)
列,用於讓 SQL Server 處理數值的自動遞增所以試試這個:
CREATE TABLE dbo.Inventory
(ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
InventoryId AS 'ID-' + RIGHT('00000' + CAST(ID AS VARCHAR(5)), 5) PERSISTED,
.... your other columns here....
)
現在,每次在dbo.Inventory
插入一行而不指定ID
或InventoryId
值時:
INSERT INTO dbo.Inventory (Col1, Col2, ..., ColN)
VALUES (Val1, Val2, ....., ValN)
那么 SQL Server 將自動且安全地增加您的ID
值,並且InventoryId
將包含諸如ID-00001
、 ID-00002
、......等值 - 自動、安全、可靠、無重復。
你可以按照這一步。
對於表創建
CREATE TABLE Inventory
(ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
InventoryId Varchar(7),
.... your other columns here....
)
對於插入查詢
INSERT INTO Inventory (Col1, Col2, ..., ColN)
VALUES ('ID-'+ right('0000'+CONVERT(varchar(7), (cast(right((select isnull(InventoryId,0) from Inventory where ID=(select max(ID) Form Inventory)),4) as int)+1)),4), Val2, ....., ValN)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.