问题

最近用到了邮箱验证码,再验证码失效后应该将其从数据库中删除

解决方法

定义一个过程,执行删除命令,然后定时触执行就行了

delimiter |
create procedure delete_code()
BEGIN
    delete from identifying_code where now()-codeCreateTIme>=3600;
end |
delimiter ;

定义一个事件,30分钟发生一次,我这里设置的是30min触发一次,看自己需求更改

create  EVENT  delete_code_event
on schedule every 30 minute
on completion preserve
do call delete_code();

如果系统没有启用计划事件用这条命令启用(root)

SET GLOBAL event_scheduler = 1;

可以通过下面的语句返回是否位on判断是否启用,为off为未启用

SHOW VARIABLES LIKE 'event_scheduler';