• mysql 触发器


    现在要完成一个点赞功能,并记录该作者和该文章共获得多少赞

    点赞,insert 一条记录

    取消点赞, delete 一条记录

     


    在nice表添加两个触发器,分别在nice表发生insert和delete时触发 user和motion表统计字段 +1 或者-1

    DROP 
        TRIGGER IF EXISTS `hotUp`; CREATE DEFINER = `Express` @`localhost` TRIGGER `hotUp` 
    AFTER 
        INSERT ON `nice` FOR EACH ROW BEGIN 
    UPDATE 
        `motion` 
    SET 
        motion.hot = motion.hot + 1 
    WHERE 
        id = new.motion_id; 
    UPDATE 
        `user` 
    SET 
        user.nice = user.nice + 1 
    WHERE 
        id = new.actor_id; END

    DROP 
        TRIGGER IF EXISTS `hotDown`; CREATE DEFINER = `Express` @`localhost` TRIGGER `hotDown` 
    AFTER 
        DELETE ON `nice` FOR EACH ROW BEGIN 
    UPDATE 
        `motion` 
    SET 
        motion.hot = motion.hot - 1 
    WHERE 
        id = old.motion_id; 
    UPDATE 
        `user` 
    SET 
        user.nice = user.nice - 1 
    WHERE 
        id = old.actor_id; END

    begain到end中间是要执行的sql语句

     CREATE DEFINER = `Express` @`localhost` TRIGGER `hotDown` 
    用户名 触发器名字 AFTER/before

    ·         INSERT:将新行插入表时激活触发程序,例如,通过INSERT、LOAD DATA和REPLACE语句。

    ·         UPDATE:更改某一行时激活触发程序,例如,通过UPDATE语句。

    ·         DELETE:从表中删除某一行时激活触发程序,例如,通过DELETE和REPLACE语句。

    FOR EACH ROW BEGIN 是固定语句

    sql语句中可以new 代替操作后的新表.字段
    old 代替操作前的旧表.字段
    来使用
  • 相关阅读:
    Promise
    location(未完)
    Web Storage API : LocalStroage
    从vmware下载到Linux环境下jdk和maven的安装
    2015.8.1 bootstrap学习(个人每日学习的随笔,比较凌乱
    git报错 error: cannot stat ‘'web/js': Permission denied
    移动端的自适应
    Socket .net MVC 的配置 包括异常断开
    ExtJS ComboBox之 键入自动查询
    ExtJS ComboBox之 2级联动
  • 原文地址:https://www.cnblogs.com/zzw555/p/10119544.html
Copyright © 2020-2023  润新知