我想做一个优惠券系统,但是我被一些东西卡住了。我想做一个函数,从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列表并删除它们(可能是最安全的方法)。
- 计算"现在"在您的应用程序和使用相同的值为
select
和delete
(也安全)。 - 计算
select
返回的最大时间,用于后续的删除。