尽管我已经有一个UNIQUE列,但是我应该使用自动增量主键吗?

问题描述 投票:1回答:1

当表中已经存在UNIQUE列(不是外键或任何东西)时,是否有任何理由使用id int auto-increment作为主键?

我正在阅读别人关于使用Freebase数据的项目的论文。Freebase中的每个主题都以中点来唯一标识。 (例如:m.gugkl395)。

但不是选择在主题表中使用mid作为主键,而是选择使用id(int自动递增)。因此主题表如下所示:>

CREATE TABLE topics (
id INT NOT NULL AUTO-INCREMENT,
mid VARCHAR(254) NOT NULL UNIQUE,
name VARCHAR(254) NOT NULL,
description VARCHAR(2048),
type VARCHAR(254) NOT NULL,
PRIMARY KEY (id)
);

我应该提到,还有3个其他表将此ID用作外键,并且由于它与Freebase有关,因此数据库中可能会有很多数据。同样在使用MySQL 5.7.15版本的情况下。

当表中已经存在UNIQUE列(不是外键或任何东西)时,是否有任何理由对主键使用id int自动递增?我正在读别人关于...的论文[

mysql database foreign-keys primary-key freebase
1个回答
0
投票

理论上,恕我直言,如果您具有唯一键,则可以使用它,如果不确定唯一性,自动递增字段将简化操作。

© www.soinside.com 2019 - 2024. All rights reserved.