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';

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

22
задан Wige 10 May 2011 в 20:07
поделиться