加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 16:21:33 所属栏目:MsSql教程 来源:网络整理
导读:如何在SQL Server 2008 Express中使用nvarchar数据类型生成自动增量主键?我想要我的输出主键,如: Id Name A1 AAA A2 BBB 谢谢 解决方法 你不能直接这样做 – 你可以做的是: 创建一个自动增量列来处理数字部分 添加一个连接字符串前缀和数字的计算列 所以尝
如何在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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读