1

サイト上の投稿をユーザーが好きか嫌いかに基づいて、ユーザー間の相関値を決定するサイトを構築しています。そのために、多くの具体化されたビュー (他のテーブルの変更時に SQL トリガーで更新されたテーブル) を使用してデータベースをセットアップしています。

更新したいテーブルの 1 つは、ユーザーが提供したレート (投稿に対する好き嫌い) を格納するテーブルに基づいて、ユーザー間の関係に関する情報を格納するテーブルです。

rates表には、、、および (ユーザーが投稿を気に入った場合は 1、ユーザーが投稿を気に入らなかった場合は -1) という列がuser_idありpost_idますliked

ユーザーとユーザーの相関関係の表には、、、、、および の列を含める予定user_id_aです。は同じと評価された投稿の数、 は反対に評価された投稿の数、 は両方が評価された投稿の総数です。user_id_bagreeddisagreedtotalagreeddisagreedtotal

rates行が追加されたときに次のようになるように、テーブルにトリガーを設定したいと考えています。

  • まだ存在していなかったすべての必要なユーザー-ユーザー相関行をユーザー-ユーザー相関テーブルに追加します
  • ユーザーとユーザーの相関テーブルの関連するすべての行で、、、および列をagreed更新disageedします。total

編集:私の質問は、箇条書きにリストされているクエリをどのように書くかです。トリガーの書き方は知っていますが、この場合、トリガーの内部にクエリを作成する方法がわかりません。

rates行が更新または削除されたときの同様のトリガーも作成する必要があります。

私はMySQLデータベースで作業しています。

4

0 に答える 0