Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DROP TRIGGER `addRank`;
- DELIMITER $$
- CREATE TRIGGER `save_user_rank`
- BEFORE insert ON `user_rank`
- FOR EACH ROW BEGIN
- if NEW.star>5
- THEN
- SET NEW.star = 5;
- END IF;
- if(NEW.star<=0)THEN
- SET NEW.star = 1;
- END IF;
- END$$
- DELIMITER ;
- DELIMITER $$
- CREATE TRIGGER `addRank`
- AFTER insert ON `user_rank`
- FOR EACH ROW BEGIN
- DECLARE k INT;
- DECLARE r FLOAT;
- select (5*sum( IF(rk.star=5,1,0)) + 4*sum( IF(rk.star=4,1,0)) + 3*sum( IF(rk.star=3,1,0)) + 2*sum( IF(rk.star=2,1,0)) + 1*sum( IF(rk.star=1,1,0))),
- count( rk.id ) INTO r,k
- from user_rank rk where rk.user_id=NEW.user_id;
- UPDATE `users` u SET u.`rank`=round(r/k,2),u.`rank_voted`=k where u.`username`=NEW.user_id;
- END$$
- DELIMITER ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement