Crea una nueva tabla con user_id
, comment_id
y vote TINYINT(1)
.
Un valor de 1
en vote
es un pulgar hacia arriba, un valor de 0
en vote
es un pulgar hacia abajo.
Tener una CLAVE ÚNICA restricción en (comment_id, user_id)
.
Si sigue lo anterior, será fácil verificar si un usuario ha emitido un voto en un comentario específico, si desea poder ver rápidamente (como en la ejecución rápida) todos los comentarios que ha hecho un usuario, también debería agregar un INDEX
a user_id
.
Cuando un usuario vota, puede usar REPLACE INTO
a user_comment_thumbs
, como el siguiente:
REPLACE INTO `user_comment_thumbs` (user_id,comment_id,vote)
VALUES (@user_id, @comment_id, @vote);
Si el usuario ya ha votado, se actualizará la entrada en la tabla, de lo contrario, se insertará una nueva fila.