私はトリガー(およびMySQL)が初めてで、「いいね」テーブルにエントリが追加されるたびに、「投稿」テーブルのフィールド「いいね」(この投稿のいいねの合計)を更新しようとしています。どうすればそれを達成できますか?
投稿テーブル: user_id,likes,comment... いいねテーブル: user_id, post_id
私はトリガー(およびMySQL)が初めてで、「いいね」テーブルにエントリが追加されるたびに、「投稿」テーブルのフィールド「いいね」(この投稿のいいねの合計)を更新しようとしています。どうすればそれを達成できますか?
投稿テーブル: user_id,likes,comment... いいねテーブル: user_id, post_id
これをトリガーに設定します。
UPDATE posts SET likes=likes+1 WHERE ID=new.post_id
したがって、テーブル posts、likes=likes+1 を更新します。ここで、投稿 ID は new(like).post_id と同じです。
EDIT:トリガーでは、新しい、削除された、更新されたなどのものが、トリガーを起動した行を参照します。
詳細については、 http://dev.mysql.com/doc/refman/5.0/en/triggers.htmlを参照してください。
編集:これはあなたの質問に完全には答えません。あなたの質問に答えるために、投稿に付けられたいいねの数を更新するために、1 日/1 週間/1 か月に 1 回実行される cron ジョブを設定します。