我有一个成员表和一个文章表。
成员可以对文章进行投票。每个单独的投票都会被记录。
我想在添加投票行时将文章作者的投票计数增加 1,并在删除投票行时将文章作者的投票计数减少 1。
我该如何在 MySQL 中做到这一点?我知道您可以使用触发器,但我该怎么做?
最佳答案
你可以这样做
CREATE TRIGGER tg_ai_article_votes
AFTER INSERT ON article_votes
FOR EACH ROW
UPDATE articles
SET votes = COALESCE(votes, 0) + 1
WHERE id = NEW.article_id;
CREATE TRIGGER tg_ad_article_votes
AFTER DELETE ON article_votes
FOR EACH ROW
UPDATE articles
SET votes = COALESCE(votes, 0) - 1
WHERE id = OLD.article_id;
您没有提供特定的表架构,因此我在示例中临时使用了表和列名称。
这里是SQLFiddle 演示
关于mysql - 如何在行插入或删除时触发增量/减量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18501719/