sql-server - 如何在 mvc 中自定义我的主键值
问题描述
Staff Info
我想为我的数据库自定义主键值。SQL Server 会自动生成一个StaffID
(PK),从 1、2、3..... 等开始。
但我不希望这样,我可以将它设置为生成StaffID
(PK)例如 ST20001 或 ST01 而不是 1、2、3?
解决方案
我不明白为什么需要将其存储在表中。
CREATE TABLE dbo.Staff
(
StaffID int IDENTITY(1,1) PRIMARY KEY,
StaffIDForDisplay AS ('ST' + RIGHT(REPLICATE('0',9) + CONVERT(varchar(11), StaffID)))
);
GO
INSERT dbo.Staff DEFAULT VALUES;
GO 3
SELECT * FROM dbo.Staff;
结果:
StaffID StaffIDForDisplay
======= =================
1 ST0000000001
2 ST0000000002
3 ST0000000003
您可以对视图执行类似操作,或者您可以ST0000...
在需要时在客户端简单地添加/删除。
推荐阅读
- android - 为什么来自 xml Web 服务的字符串在 Android TextView 中不显示新行?
- mongodb - 如何通过删除 mongoDB 中的时间来更新日期字段?
- iphone - iOS 12.1.2 Xcode 版本 10.0 (10A255) 无法加载构建到 iPhone 6
- javascript - Redux 状态未在 reducer 中按预期构建
- git - 列出 Git 存储库中特定用户更改的所有文件
- javascript - 如何使用 React 和 Babel 从 React-Select CDN 导入?
- python - 如何为包含其他 protobuf 的 protobuf 文件编写文本
- java - springboot使用@async执行任务有时会出现超时
- android - 使用 ID 从另一个 Activity 中的 SQLite 数据库读取数据
- c# - 如何从 ZKTeco 设备中的表“DEPARTMENTS”中获取 DeptName