是否有可能在MySQL数据库中创建一个受TTL(生存时间)选项限制的记录.
我想制作一个简单的密码恢复功能,我需要存储一个激活密钥,该密钥只存储在数据库中3600秒,然后在此之后自动删除?我知道有很多其他方法可以实现这一目标,但它们并不像TTL功能那样直接.
我想MySQL没有这样的功能,但我只是想,也许我错过了什么,有吗?
Ili*_*sev 18
我刚发现MySQL 5.1+有事件调度程序.在MySQL的事件调度管理事件的调度和执行-即按计划运行的任务.
存储例程需要MySQL数据库中的事件表.此表是在MySQL安装过程中创建的.
使用它的语法是:
CREATE EVENT
ClearUserActivationCodes
ON SCHEDULE EVERY 1 DAY
DO
BEGIN
DELETE FROM
user_activation_code
WHERE code_time_stamp < NOW()
END
Run Code Online (Sandbox Code Playgroud)
它非常有用,完全满足我在不使用cron作业的情况下自动清除表的需求.
归档时间: |
|
查看次数: |
9039 次 |
最近记录: |