У меня есть БД с данными о резервировании жилья. Каждая запись имеет дату заявки (поле reservated). Задача: удалить все заявки, которым более чем 1 сутки и которые не прошли одобрение (поле approve)
Использовал такой запрос:
DELETE FROM table
WHERE approve=''
AND DATE (reservated) NOT BETWEEN DATE( DATE_SUB( NOW() , INTERVAL 24 HOUR ) ) AND DATE ( NOW() )
Но он удаляет из БД все записи, которые старше не на 24 часа, а на 2 дня.
Пример: сегодня 6 марта 18:00 По идее, после отправки запроса должны удалиться все записи до 5 марта 18:00 Но удаляются все записи до 4 марта 23:59
Что я сделал не так? Заранее спасибо за помощь!
Для начала надо посмотреть, что выдает запрос через SELECT.
Возможно, надо исправить запрос таким образом:
DELETE FROM table
WHERE approve=''
AND DATE (reservated) NOT BETWEEN DATE_SUB(NOW() , INTERVAL 24 HOUR ) AND DATE ( NOW() )
Напишите, если помогло :)
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости