Gre*_*ari 3 sql-server sql-server-2008 sqldatatypes
如何nvarchar在SQL Server 2008 Express中使用数据类型生成自动增量主键?我想要我的输出主键如:
Id Name
A1 AAA
A2 BBB
Run Code Online (Sandbox Code Playgroud)
谢谢
你不能直接这样做 - 你可以做的是:
所以尝试这样的事情:
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
)
Run Code Online (Sandbox Code Playgroud)
现在当你插入这样的行:
INSERT INTO dbo.YourTable(StringPrefix) VALUES('A'), ('B'), ('A')
Run Code Online (Sandbox Code Playgroud)
你应该得到这样的行:
ID StringPrefix IDandPrefix
1 A A1
2 B B2
3 A A3
Run Code Online (Sandbox Code Playgroud)
您也可以在该IDandPrefix列上定义主键:
ALTER TABLE dbo.YourTable
ADD CONSTRAINT PK_YourTable PRIMARY KEY CLUSTERED (IDandPrefix)
Run Code Online (Sandbox Code Playgroud)