zoukankan      html  css  js  c++  java
  • MySQL 触发器结构及三个案例demo

    --你必须拥有相当大的权限才能创建触发器(CREATE TRIGGER),如果你已经是Root用户,那么就足够了。这跟SQL的标准有所不同。

    CREATE TRIGGER语法

    CREATE TRIGGER trigger_name trigger_time trigger_event
       ON tbl_name FOR EACH ROW trigger_stmt

    触发程序与命名为tbl_name的表相关。

    trigger_time是触发程序的动作时间。它可以是BEFORE或AFTER,以指明触发程序是在激活它的语句之前或之后触发。

    trigger_event指明了激活触发程序的语句的类型。trigger_event可以是下述值之一:

    ·         INSERT:将新行插入表时激活触发程序

    ·         UPDATE:更改某一行时激活触发程序

    ·         DELETE:从表中删除某一行时激活触发程序

    trigger_stmt是当触发程序激活时执行的语句。如果你打算执行多个语句,可使用BEGIN 
    ... END复合语句结构。

    mysql触发器是mysql数据库的重要概念,下面为您介绍三个mysql触发器的例子,供您参考,希望对您学习mysql触发器方面能有所帮助。

    示例一  
    delimiter //    
    create trigger InsertUser    
    before insert on user   
    for each row    
    Begin   
    insert into user_group(uid,gid) values(new.uid,'group4444444444');    
    end;//    
    delimiter ;    
     
    示例二    
    delimiter //    
    create trigger InsertUser    
    before insert on user   
    for each row    
    Begin   
    IF new.Type=2 then   
    insert into user_group(uid,gid) values(new.uid,'group4444444444');    
    else   
    insert into user_group(uid,gid) values(new.uid,'group55555555555')    
    END IF;    
    end;//    
    delimiter ;    
     
    示例三:    
    delimiter //    
    create trigger InsertUser    
    before insert on user   
    for each row    
    Begin   
    IF new.type=1 then   
    insert into user_group(uid,gid) values(new.uid,'578d3369633b47bd9c1fe8bf905cbfb1');    
    END IF;    
    IF new.type=2 then   
     insert into user_group(uid,gid) values(new.uid,'387bcd57fc5a4c3c9de83ee210fef661');    
    END IF;    
    end;//    
    delimiter ;   



  • 相关阅读:
    Python全栈之路Day19
    Python全栈之路Day20
    Python全栈之路Day21
    子元素应该margin-top为何会影响父元素【转】
    HTML5的效果网站demo
    用CSS让字体在一行内显示不换行
    jQuery获得页面元素的绝对/相对位置
    DIV垂直/水平居中2(DIV宽度和高度是动态的)
    Jquery常用方法
    关于JS正则表达式
  • 原文地址:https://www.cnblogs.com/chen-lhx/p/5600164.html
Copyright © 2011-2022 走看看