我有一个叫做“regkeys”的MySQL表。该表有两列:“keyCat”和“keyNum”。在我的网络应用程序中,我有一个keygen模块,它将一个键(1134fb)和一个类别(mds或dts等)添加到此表中。
我想要完成的是:在发出(添加到数据库中)一个密钥后,我想创建一个MySQL事件来删除在我的表中停留/停留超过2天(或左右)的密钥这种方式使密钥到期(例如: - 从创建时起,计算2天,每个密钥必须删除,某些密钥迟早会被删除,具体取决于它们的创建时间)。我查看了MySQL's API,但我需要一些逻辑方面的帮助。我不知道如何告诉事件只删除存储2天(或左右)的密钥。我希望有人能给我一个简单的例子或指导我一个明确的教程。
非常感谢您提前。
编辑:我想我发现this other question对我的问题有所帮助。我想我是以错误的方式(基于密钥)。由于每个键和键类别都插入到一行中,因此调度程序应该处理行而不是键。
答案 0 :(得分:2)
这是解决方案:
SET GLOBAL event_scheduler = ON;
CREATE EVENT <name>
ON SCHEDULE EVERY 20 SECOND
DO DELETE FROM <table_name> WHERE <time_stamp_column> < NOW() - INTERVAL 5 MINUTE
。