重新索引MySQL数据库相关表的主键

问题描述

我有这样相关的表格

表:用户

ID_EMP ID_AREA
1 5
3 7
6 2
7 9

表格:面积

ID_AREA 名称
2 a
5 b
7 c
9 d

我希望他们像这样

ID_EMP ID_AREA
1 2
2 3
3 1
4 4
ID_AREA 名称
1 a
2 b
3 c
4 d

除了数百条记录和大量表格外。我想整理一下修改后的pk相关的主键和外键。

此外,我使用 identity(1,1) 创建主键。

有什么建议吗?

感谢您的帮助。

解决方法

不要这样做。

主键的核心特性是它必须是唯一的。它不需要性感、好看,或遵循特定的模式或结构。如果是这种情况,那么您可能希望将其作为网络服务或其他形式在 UI 中或其他应用中公开。

好看的键通常与“自然键”齐头并进。避免自然键,因为它们是键......直到不是。如果某个键在 UI(或其他应用程序/客户端)上公开,它的价值将对某人很重要,并且有人会在某个时候想要更改它。甚至 SSN 也可以回收。

如果您需要公开一个“密钥”,那么创建一个辅助生成的唯一列,可以作为其他客户端的“导出密钥”。

在内部,您的密钥很简单,而且最重要的是,独特(而且很丑,谁在乎)。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...