【问题标题】:MySql Trigger for Updating PostCount用于更新 PostCount 的 MySql 触发器
【发布时间】:2016-07-04 12:49:03
【问题描述】:

我有三个数据表:评论、博客和用户。我对MySql中的Triggers了解不多,但是在插入或删除新Row时,是否可以总结评论和博客中每一行的计数?

例如博客有 3 个条目,评论有 5 个条目。当我现在删除一条评论时,它应该通过计算博客中的条目和用户名的评论来将用户中的“帖子”记录更新为 7。

注释表行:id |日期 |约会 |作者 |电子邮件 |状态 |内容 |网址 |出价 |等级

博客表行:id |西德 |作者 |日期 |标题 |预告片 |内容 |网址

用户表行:id |用户名 |电子邮件 |通过 |帖子

【问题讨论】:

    标签: php mysql select triggers


    【解决方案1】:

    用于 cmets 更新事件的示例触发器,您可以为所有其他事件更改突出显示的值编写更简洁的触发器

    DROP TRIGGER IF EXISTS comment_delete;
    DELIMITER $$
    CREATE TRIGGER comment_delete AFTER DELETE ON comment FOR EACH ROW BEGIN
    
    UPDATE user set posts=posts-1 WHERE id=new.author;
    
    END$$ 
    

    【讨论】:

    • comment_update - 触发器名称;更新后——事件;评论——表格
    • 感谢您的快速回答,但我会收到以下错误消息:#1422 - 存储函数或触发器中不允许显式或隐式提交...这是什么提交?
    • 是的,我犯了一个小错误,我们无法在触发器中访问同一个表,因此更新了答案
    • 在删除时更新答案,您可以从原始帖子数中减少一个,在插入时您可以在删除帖子数中添加 1
    • 解决了我的问题。以为我需要在 phymyadmin 窗口中编写分隔符部分,但显然我只需要编写查询部分。
    猜你喜欢
    • 2015-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多