Създайте нова таблица с user_id
, comment_id
и vote TINYINT(1)
.
Стойност на 1
в vote
е палец нагоре, стойност на 0
в vote
е палец надолу.
Имайте УНИКАЛЕН КЛЮЧ ограничение за (comment_id, user_id)
.
Ако следвате горното, ще бъде лесно да проверите дали даден потребител е гласувал за конкретен коментар, ако искате да можете бързо (както при бързо изпълнение) да видите всички коментари, които е направил потребител, също трябва добавете INDEX
към user_id
.
Когато потребител гласува, можете да използвате REPLACE INTO
до user_comment_thumbs
, като по-долу:
REPLACE INTO `user_comment_thumbs` (user_id,comment_id,vote)
VALUES (@user_id, @comment_id, @vote);
Ако потребителят вече е гласувал, записът в таблицата ще бъде актуализиран, в противен случай ще бъде вмъкнат нов ред.