Créer une nouvelle table avec user_id , comment_id et vote TINYINT(1) .
Une valeur de 1 en vote est un pouce levé, une valeur de 0 en vote est un pouce vers le bas.
Avoir une CLÉ UNIQUE contrainte sur (comment_id, user_id) .
Si vous suivez ce qui précède, il sera facile de vérifier si un utilisateur a voté sur un commentaire spécifique, si vous souhaitez pouvoir voir rapidement (comme dans l'exécution rapide) tous les commentaires qu'un utilisateur a faits, vous devriez également ajouter un INDEX à user_id .
Lorsqu'un utilisateur vote, vous pouvez utiliser REPLACE INTO à user_comment_thumbs , comme ci-dessous :
REPLACE INTO `user_comment_thumbs` (user_id,comment_id,vote)
VALUES (@user_id, @comment_id, @vote);
Si l'utilisateur a déjà voté, l'entrée dans le tableau sera mise à jour, sinon une nouvelle ligne sera insérée.