【发布时间】:2012-11-29 10:14:21
【问题描述】:
我正在编写密码恢复脚本。当用户想找回密码时,会向数据库中写入50串随机验证码,作为$_GET进行验证。
这个名为recovery 的表是var(50) 和unique。接受链接后,该字段将被删除。但是如果用户不打算点击链接呢?这必须从数据库中删除,因为这个随机的 50 个字符串被创建的机会越来越大,并且数据库得到了不必要的数据。
我一直在环顾四周,看到了这个:
INSERT INTO what_ever ('', '', now(), DATE_ADD(NOW(), INTERVAL 3 DAY));
这样我输入了一个过期日期,但是 MYSQL 怎么能在时机成熟的时候自己删除呢?这可能吗?
如果没有,我最好的选择是什么?
编辑:
当然 3 天太多了。我想了大约 15 分钟。
【问题讨论】:
-
你可以巧妙地用时间戳散列那个键。
-
查找MySQL Event Scheduler,可以设置一个任务在预定义的时间间隔执行,例如从表中删除过时的记录。