Mysql запрос, чтобы получить записи, которые созданы ровно 1 день назад - PullRequest
0 голосов
/ 10 мая 2019

Я хочу автоматизировать систему уведомлений по электронной почте.

Я хочу отправить электронное письмо через 24 часа после создания новой записи.

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

Этот код не работает.

Как я могу сравнить точно 24 часа назад.

Я уже создал задание cron для запуска каждую минуту.

1 Ответ

1 голос
/ 10 мая 2019

Сначала попробуйте добавить простые кавычки в интервале, если у вас возникают синтаксические ошибки.

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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...