MySQL获取超过30分钟的数据并执行一些任务


MySQL get data older than 30 minutes and perform some tasks

我想做一个优惠券系统,但是我被一些东西卡住了。我想做一个函数,从coupon_session中获取所有数据,其中时间(datetime)大于30分钟。对于每个结果,我想从行中获取"代码",然后我想要它删除行。

我已经知道如何检索数据,但剩下的对我来说有点难。你们能帮个忙吗?

这是我的代码获取所有> 30分钟的旧行:

mysql_query("GET * FROM `coupon_session` WHERE TIMESTAMPDIFF(MINUTE,time,NOW()) > 30");

获取所需内容的代码为:

select cs.code
from coupon_session cs
where time < date_sub(now(), interval 30 minute);

删除是另一个问题,因为now()的值发生了变化。您有几个选择,例如:

  • 获取应用程序中要删除的id列表并删除它们(可能是最安全的方法)。
  • 计算"现在"在您的应用程序和使用相同的值为selectdelete(也安全)。
  • 计算select返回的最大时间,用于后续的删除。