Създайте нова таблица с 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);
Ако потребителят вече е гласувал, записът в таблицата ще бъде актуализиран, в противен случай ще бъде вмъкнат нов ред.