当前位置:  开发笔记 > 数据库 > 正文

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

如何解决《如何在nvarchar的sqlserver中添加自动增量主键?》经验,为你挑选了1个好方法。

如何nvarchar在SQL Server 2008 Express中使用数据类型生成自动增量主键?我想要我的输出主键如:

 Id        Name
 A1        AAA
 A2        BBB

谢谢



1> marc_s..:

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

创建一个自动增量列来处理数字部分

添加一个连接字符串前缀和数字的计算列

所以尝试这样的事情:

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)

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有