Задать вопрос
DrunkMaster
@DrunkMaster

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

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

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

Похожие вопросы