我想自动生成唯一的ID,并为其附加每个定义的代码。
例如:
UID12345678
CUSID5000
我尝试了uniqueidentifier
数据类型,但它生成的ID不适合用户ID。
有人有建议吗?
我认为唯一可行的解决方案是使用
ID INT IDENTITY(1,1)
使SQL Server处理您的数值自动递增的列所以试试这个:
CREATE TABLE dbo.tblUsers
(ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
UserID AS 'UID' + RIGHT('00000000' + CAST(ID AS VARCHAR(8)), 8) PERSISTED,
.... your other columns here....
)
现在,每次在tblUsers
不指定ID
或的值的情况下插入行时UserID
:
INSERT INTO dbo.tblUsersCol1, Col2, ..., ColN)
VALUES (Val1, Val2, ....., ValN)
那么SQL Server将自动,安全地增加你的ID
价值,UserID
将包含类似的值UID00000001
,UID00000002
,......等等-自动,安全,可靠,无重复。
更新:该列UserID
是经过计算的-但它的OF COURSE仍然具有数据类型,快速浏览“对象资源管理器”可以发现:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句