MySQL查询以获取恰好在1天前创建的记录

时间:2019-05-10 15:27:52

标签: mysql sql laravel

我想使电子邮件通知系统自动化。

我想在创建新记录后24小时发送电子邮件。

SELECT *
  FROM YOUR_TABLE t
  WHERE t.created_at = DATE_SUB(NOW(), INTERVAL 24 HOUR)

此代码无效。

我要如何比较24小时前的准确数字。

我已经创建了cron作业来触发每一分钟。

1 个答案:

答案 0 :(得分:1)

如果遇到语法错误,请先尝试在间隔之间添加简单的引号。

INTERVAL '24 HOURS'

此外,由于您要查询的记录已存在24小时…到最近的纳秒,因此您不太可能通过此查询获得任何结果!尝试允许合理的宽限期延迟:

SELECT *
  FROM YOUR_TABLE t
  WHERE t.created_at >= DATE_SUB(NOW(), INTERVAL '24 HOURS')
    AND t.created_at <= DATE_SUB(NOW(), INTERVAL '23 HOURS')