Есть ли причина использовать id int auto-increment
для первичного ключа, когда в таблице уже существует уникальный столбец (который не является внешним ключом или чем-то еще)?
Я читаю чужой тезис опроект, который использует данные бесплатной базы. Каждая тема в 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 таблицы, которые используют этот идентификатор в качестве внешнего ключа, и, поскольку он связан с freebase, вероятно, будет много данных. в базе данных. Также в случае, если это имеет значение, используется версия MySQL 5.7.15.