【问题标题】:MySQL get data older than 30 minutes and perform some tasksMySQL 获取超过 30 分钟的数据并执行一些任务
【发布时间】:2016-01-08 08:00:22
【问题描述】:

我正在尝试制作优惠券系统,但遇到了一些问题。我想创建一个函数,从 coupon_session 获取所有数据,其中时间(日期时间)超过 30 分钟。对于每个结果,我想从行中获取“代码”,然后我希望它删除行。

我已经想出了如何检索数据,但其余的对我来说有点困难。各位大神能帮帮忙吗?

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

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

【问题讨论】:

  • 你对 SQL/MySQL 语法熟悉吗?
  • “获取 *”对您有用吗?我以前从未见过这种情况。你真的确定它有效吗?
  • 我想你想要SELECT,而不是GET

标签: php mysql function coupon


【解决方案1】:

获取你想要的代码是:

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

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

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

【讨论】:

  • 这个问题不是返回最多 30 分钟的时间吗? OP 想要“超过 30 分钟”......还是我错过了一些基本的东西?
猜你喜欢
  • 2019-06-01
  • 2012-03-16
  • 1970-01-01
  • 1970-01-01
  • 2016-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多