DrunkMaster
@DrunkMaster

Почему такое условие SQL удаляет данные?

DELETE FROM `table` WHERE `label` < (CURDATE()-15)
Я надеялся что он будет удалять записи старше 15 дней но на деле 1 числа он удаляет все данные за предыдущий месяц т.е. даже за вчера.
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
Immortal_pony
@Immortal_pony Куратор тега MySQL
Подобное условие некорректно.
Для манипуляций со временным интервалом пользуйтесь DATE_SUB/DATE_ADD
DELETE FROM `table` WHERE `label` < DATE_SUB(CURDATE(), INTERVAL 15 DAY)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы