我正在编写密码恢复脚本。当用户想要恢复他的密码时,会在数据库中写入50串随机验证码,这些码将用作$_GET
进行验证。
这个名为recovery
的表格是var(50)
和unique
。接受链接后,该字段将被删除。但是,如果用户不打算单击链接怎么办?这必须从数据库中删除,因为创建这个随机50字符串的可能性会变大,数据库会获得不必要的数据。
我一直在环顾四周,看到了这个:
INSERT INTO what_ever ('', '', now(), DATE_ADD(NOW(), INTERVAL 3 DAY));
这样我就输入了截止日期,但是MYSQL怎么能在时机成熟的时候自行删除?这甚至可能吗?
如果没有,这是我最好的选择吗?
修改
当然3天太多了。我想了15分钟。
答案 0 :(得分:3)
您可以编写一个在插入新行时删除旧数据的触发器。
如果您不知道如何编写触发器,请使用像HeidiSQL这样的高级MySQL客户端,它将帮助您使用某些GUI。
答案 1 :(得分:2)
您可以在数据库中插入一个触发器,以删除任何超过一定数量的记录。