mysql 存储过程与事件

现在有个需求,每隔一小时,改变一下数据库中userinfo的记录

实现步骤

1 创建存储过程 (有入参 (IN P_a int))

create procedure  pro_del_userinfo

BEGIN
        delete from userinfo;

  case p_a
     when 1 then  
             INSERT INTO userinfo (
                    aaa,
                    bbb
                )
                VALUES
                    (111,222);

     when  2 then
             INSERT INTO userinfo (
                    aaa,
                    bbb
                )
                VALUES
                    (333,444);
     else 
             INSERT INTO userinfo (
                    aaa,
                    bbb
                )
                VALUES
                    (555,666);
     end case;
END

2 创建事件

create event e_del_userinfo  
on schedule 
EVERY  3600   second  
STARTS '2017-01-01 03:00:00'  
ON COMPLETION  PRESERVE ENABLE  
do  call pro_del_userinfo( FLOOR(1 + (RAND() * 10)))

3 开启事件任务并设置事件持续开启

alter event del_event ON COMPLETION PRESERVE ENABLE;
SHOW VARIABLES LIKE 'event_scheduler';  
SET GLOBAL event_scheduler = 1;  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值