mysql-触发器

系统 1916 0

触发器通常在操作某条数据时需要进行一些关联操作是使用。

查看已创建触发器:

       SHOW TRIGGERS;
    

删除名为xxxx的触发器:

      drop trigger xxxx;
    

 

创建触发器 语法:

      
        DELIMITER $$



CREATE

    
      
      
        /*
      
      
        [DEFINER = { user | CURRENT_USER }]
      
      
        */
      
      
        

    TRIGGER `xxx`.`t_t3` BEFORE
      
      /AFTER INSERT/UPDATE/
      
        DELETE

    ON `xxx`.`
      
      <Table Name>
      
        `

    FOR EACH ROW BEGIN



    END$$



DELIMITER ;
      
    
    
      BEFORE/AFTER :在操作这条数据之前/之后,进行其他操作
      
    INSERT/UPDATE/
    
      DELETE:选择在什么样的操作类型时触发此触发器
      

可以看一个栗子:
    
      如:t_sys_log表有个类型为DATETIME的字段OPERATE_TIME,在修改时将此字段设为当前时间,
      
可创建如下触发器:
      
         DELIMITER $$




      
      
        CREATE
      
      
        TRIGGER
      
       t_t2 BEFORE 
      
        UPDATE
      
      
        ON
      
       t_sys_log 
      
        FOR
      
      
         EACH ROW

    

    
      
      
        BEGIN
      
      
        SET
      
       NEW.OPERATE_TIME
      
        =
      
      
        NOW();

    
      
      
        END
      
      
        $$



DELIMITER ;
      
    

随便执行以下update t_sys_log...可以看到OPERATE_TIME的时间被修改了

ps:顺便说一下,关于修改时间字段随数据修改二改动,mysql中还有一种方法,就是在创建字段时设为timestamp 并加上值属性如下:

      
        ALTER
      
      
        TABLE
      
       t_sys_log MODIFY operate_time 
      
        TIMESTAMP
      
      
        DEFAULT
      
      
        CURRENT_TIMESTAMP
      
      
        ON
      
      
        UPDATE
      
      
        CURRENT_TIMESTAMP
      
        ;
    

但是这样的属性设置,每张表只能设置一个字段。

 

 

 

    
       
    
  

 

mysql-触发器


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论