mysql储存过程以及定时调度清除数据

1。 首先mysql必须使用5.1.X以上的版本,因为只有在该版本之上,mysql才提供 存储过程以及EVENT(事件)支持。

    查看mysql版本可以使用命令:SELECT VERSION(); 进行查看。

2。 分别使用  SHOW VARIABLES LIKE 'performance_schema';  以及  SHOW VARIABLES LIKE 'event_scheduler';  命令,查看

    这俩个数值的状态,均需要 为 NO 时,才能正常使用。默认状态为 OFF,请自行上网查询命令,修改其状态为 NO 即可。

   eg:  SET GLOBAL event_scheduler=1  修改事件命令。

3.   直接使用SQLYog等客户端连接工作,执行如下命令创建对象。

      创建一个存储过程的例子命令,如下:

DELIMITER $$  
  
CREATE  
    /*[DEFINER = { user | CURRENT_USER }]*/  
    PROCEDURE `test`.`cleanCaptcha`()  
    /*LANGUAGE SQL 
    | [NOT] DETERMINISTIC 
    | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } 
    | SQL SECURITY { DEFINER | INVOKER } 
    | COMMENT 'string'*/  
    BEGIN  
    DELETE FROM ANNOUNCEMENT WHERE TIMESTAMPDIFF(MINUTE,CREATE_TIME,NOW())>3;  
    END$$  
  
DELIMITER ;  

创建一个event事件命令,如下:
-- 创建事件 event:event_name  
CREATE EVENT cleanCaptchaEvent  
    -- 该事件从2013-01-23 00:30:00开始每5分钟执行一次  
    ON SCHEDULE EVERY 5 MINUTE STARTS NOW()  
    ON COMPLETION PRESERVE  
      
 -- 调用上面写的 PROCEDURE    
DO CALL cleanCaptcha();  
//  
DELIMITER ;  

4。 使用 SELECT * FROM information_schema.`EVENTS` 命令可以查看具体event执行的相关信息。

5。 以上方式操作后,就能实现mysql数据库自行定时调用存储过程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值