Подтвердить что ты не робот

MySQL Сделать комбинацию столбцов уникальной

У меня есть таблица, в которой хранятся комментарии пользователей о изображениях на сайте. Таблица структурирована с четырьмя столбцами, row_id, которая является первичным ключом, image_id, user_id и комментарием. Я хочу, чтобы пользователь мог оставить только один комментарий для каждого изображения. Я просто создаю уникальный индекс в двух столбцах?

CREATE UNIQUE INDEX imgusr ON comments (image_id, user_id);

Идея состоит в том, чтобы получить следующий запрос:

INSERT INTO comments SET image_id = '1', user_id = '2', comment = 'nice' ON DUPLICATE KEY UPDATE comment = 'nice';

Получаем (gotme?) является то, что таблица является innoDB, потому что ожидается, что она станет очень большой. Это подход, который будет работать, несмотря на наличие первичного ключа?

4b9b3361

Ответ 1

Да, это будет работать отлично.

В другой теме, почему у вас есть row_id? Вы можете просто перенести первичный ключ как (image_id, user_id), это тоже будет работать.