mysql - 当我确定主键是并且永远是唯一的时,它是否应该自动递增?

标签 mysql sql database database-design surrogate-key

一段时间以来,我一直在寻找对我的特定问题更具体一点的令人满意的答案,但有用。我不知道我是不是没有看对地方,但这里有:

我正在从一个应用程序中提取数据,然后对这些数据进行处理并将其发送到我自己的服务器。在提取的数据中,有一个最初位于应用程序数据库中的自动递增标识符。我刚刚检索到的这个标识符的一个例子是 955534861。不自动递增我的主键并只使用我知道并且将始终保持唯一的值不是更好、更有效的设计,还是我应该研究代理键等概念?

提前致谢。

最佳答案

您描述的情况类似于我维护数据仓库的主要工作。我们从其他系统获取数据并存储它。

发生在我们身上的事情是这些“其他系统”发生了变化。这导致“其他系统”的新版本可能会复制先前系统的唯一标识符。我们通过向数据仓库中的记录添加一些内容来处理这个问题,以保证它的唯一性。它可能是一个标识源系统的字段,也可能是一个日期。它绝不是自动生成的数字。

如果这种情况有可能发生在您身上,您可能想扩大您的选择范围。

关于mysql - 当我确定主键是并且永远是唯一的时,它是否应该自动递增?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17452734/

相关文章:

mysql - 在 sql 查询中使用变量

php - 为 WORDPRESS 导入表时出错(位置 25 附近的 "ON")(外键错误)

mysql - 通过引用主键来识别数据集中特定行的行索引

sql - 在 SQL 中返回包含 IN 子句中所有值的记录

c++ - MonetDB 创建 100.000 列

database - RDF存储与传统数据库性能对比

database - 如何使用 Solr 4.0+ 索引作为数据库 BLOB 包含的格式丰富的文档?

php - 如何跨多个类访问PDO连接对象?[php +Mysql]

mysql - 分组依据和列选择

php - 本地主机中 PHP 中的相同脚本无法在线运行