私はこの MySQL トリガーを専用サーバーで使用しているため、テーブルが更新されるたびに、新しい合計が計算され、別のテーブルが更新されます。
delimiter |
CREATE TRIGGER after_insert_rep_points AFTER INSERT ON users_reputation
FOR EACH ROW
BEGIN
DECLARE new_total INT(10);
SELECT SUM(rep_points) INTO new_total FROM users_reputation
WHERE user_id = NEW.user_id;
UPDATE users SET rep_total = new_total WHERE user_id = NEW.user_id;
END
|
delimiter ;
これを共有ホスティング環境で使用する必要がありますが、残念ながら、セキュリティ上の理由により、トリガーに必要な共有環境での SUPER USER 権限を取得できません。私はこれを理解していません。誰もがトリガーを使用できるべきだと思います。
私はストアド プロシージャについてあまり詳しくありませんが、実際には役に立たないのですが、このクエリを使用して実行できるかどうか疑問に思っています。