use*_*405 2 sql-server char auto-increment
表上是否可以有一个 char 主键?例如“WC001”将自动加1,因此pk的下一条记录将是“WC002”,依此类推。
谁能给我举个例子吗?
谢谢
不直接 - 但您可以有一个正常的INT IDENTITY自动递增数字 ID,然后定义一个计算持久列(SQL Server 2005 及更高版本) - 类似于:
CREATE TABLE dbo.YourTable
(ID INT IDENTITY(1,1),
CharID AS 'WC' + RIGHT('000' + CAST(ID AS VARCHAR(3)), 3) PERSISTED,
CONSTRAINT PK_YourTable PRIMARY KEY(CharID)
)
Run Code Online (Sandbox Code Playgroud)
向该表中插入值将导致该ID列成为1, 2, 3, 4, 5,..... 并且该CharID列将自动成为WC001, WC002,WC003等等。
由于它是持久计算列,因此值始终是最新的,您甚至可以在其上放置索引(如主键)。