Mysql 如何更新触发器中的多个表和字段?

Mysql 如何更新触发器中的多个表和字段?,mysql,sql,triggers,Mysql,Sql,Triggers,我有以下架构: 触发器正在更新articles.voces字段。我还需要它更新members.points字段和members.points字段,公式与更新articles.vows字段相同。我该怎么做?你在找这个吗 DELIMITER $$ CREATE TRIGGER tg_ai_article_votes AFTER INSERT ON article_votes FOR EACH ROW BEGIN UPDATE articles SET votes = COALESCE

我有以下架构:


触发器正在更新articles.voces字段。我还需要它更新members.points字段和members.points字段,公式与更新articles.vows字段相同。我该怎么做?你在找这个吗

DELIMITER $$
CREATE TRIGGER tg_ai_article_votes
AFTER INSERT ON article_votes
FOR EACH ROW 
BEGIN
  UPDATE articles
     SET votes = COALESCE(votes, 0) + 1
   WHERE id = NEW.article_id;
  UPDATE members
     SET points = COALESCE(points, 0) + 1,
         lifetime_points = COALESCE(lifetime_points, 0) + 1
   WHERE id = NEW.member_id;
END$$

CREATE TRIGGER tg_ad_article_votes
AFTER DELETE ON article_votes
FOR EACH ROW 
BEGIN
  UPDATE articles
     SET votes = COALESCE(votes, 0) - 1
   WHERE id = OLD.article_id;
  UPDATE members
     SET points = COALESCE(points, 0) - 1,
         lifetime_points = COALESCE(lifetime_points, 0) - 1
   WHERE id = OLD.member_id;
END$$
DELIMITER ;

这是演示

是的,我现在刚开始,谢谢你的帮助。