sql-server – 如何在nvarchar的sql server中添加自动增量主键?

前端之家收集整理的这篇文章主要介绍了sql-server – 如何在nvarchar的sql server中添加自动增量主键?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在sql Server 2008 Express中使用nvarchar数据类型生成自动增量主键?我想要我的输出主键,如:
Id        Name
 A1        AAA
 A2        BBB

谢谢

解决方法

你不能直接这样做 – 你可以做的是:

>创建一个自动增量列来处理数字部分
>添加一个连接字符串前缀和数字的计算列

所以尝试这样的事情:

CREATE TABLE dbo.YourTable
    (ID INT IDENTITY(1,1) NOT NULL,StringPrefix NVARCHAR(10) NOT NULL,IDandPrefix AS ISNULL(StringPrefix + CAST(ID AS NVARCHAR(10)),'X') PERSISTED
    )

现在,当你插入这样的行:

INSERT INTO dbo.YourTable(StringPrefix) VALUES('A'),('B'),('A')

你应该得到这样的行:

ID   StringPrefix   IDandPrefix
 1        A             A1
 2        B             B2
 3        A             A3

您也可以在该IDandPrefix列上定义主键:

ALTER TABLE dbo.YourTable 
ADD CONSTRAINT PK_YourTable PRIMARY KEY CLUSTERED (IDandPrefix)

猜你在找的MsSQL相关文章