当表中已经存在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自动递增?我正在读别人关于...的论文[
理论上,恕我直言,如果您具有唯一键,则可以使用它,如果不确定唯一性,自动递增字段将简化操作。