Вы можете создать составной ключ, который использует оба ключа
Обычно, если в таблице нет подходящего ключа, который вы хотите создать, либо составной ключ, состоящий из 2 или более полей,
например:
Код ниже найден здесь
CREATE TABLE topic_replies (
topic_id int unsigned not null,
id int unsigned not null auto_increment,
user_id int unsigned not null,
message text not null,
PRIMARY KEY(topic_id, id));
для этого вы можете добавить код, который выполняет следующее:
ALTER TABLE users_categories ADD PRIMARY KEY (user_id, category_id);
для этого, как только вы захотите сослаться на определенное поле, все, что вам нужно, это передать два ПК из другой таблицы, однако для их привязки они должны быть закодированы как внешний ключ.
ALTER TABLE users_categories ADD CONSTRAINT fk_1 FOREIGN KEY (category_id) Ссылки на категории (category_id);
но если вы хотите создать новый первичный ключ в таблице users_categories, это вариант. Просто знайте, что это не всегда необходимо.