У меня есть таблица, в которой хранятся комментарии пользователей о изображениях на сайте. Таблица структурирована с четырьмя столбцами, row_id, которая является первичным ключом, image_id, user_id и комментарием. Я хочу, чтобы пользователь мог оставить только один комментарий для каждого изображения. Я просто создаю уникальный индекс в двух столбцах?MySQL Сделать комбинацию столбцов уникальной
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';
gotchya (? Gotme) является то, что таблица InnoDB, потому что, как ожидается, чтобы получить очень большой. Это подход, который будет работать, несмотря на наличие первичного ключа?
Вы попробовали? Вы беспокоитесь о том, что это не удается, или о том, что он плохо работает? – outis
Оба. Я фактически перехожу из одной системы в другую, и исходная таблица будет довольно массивной (сразу четыре миллиона строк, которые ожидаются в первые несколько недель, до 20 миллионов), поэтому я хочу быть абсолютно уверен, что я собираюсь сделать это правильный путь с самого начала. – Wige