У меня есть таблица, в которой хранятся комментарии пользователей о изображениях на сайте. Таблица структурирована с четырьмя столбцами, 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, потому что ожидается, что она станет очень большой. Это подход, который будет работать, несмотря на наличие первичного ключа?