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);
ユーザーがすでに投票した場合は、テーブルのエントリが更新されます。それ以外の場合は、新しい行が挿入されます。