Сравнение отметки времени и даты в MySQL – неоднозначная ошибка
-
14-09-2020 - |
Вопрос
это продолжение вопроса, с которым мне вчера здесь помогли, но это немного другая проблема - я пытаюсь проверить, соответствует ли временная метка mysql записи базы данных 7 дням назад (игнорируя часы и секунды и т. д.) , но я получаю сообщение «Столбец 'import_date' в предложении, где неоднозначно», может ли кто-нибудь увидеть проблему?
Это сравнение дат:Временная метка, например 2010-07-13 11:04:27
WHERE date_format( `import_date`, "%Y-%m-%d" ) =
date_format( date_sub( now(), INTERVAL 11 DAY ), "%Y-%m-%d" )
Решение
Что касается вашей неоднозначной ошибки, у вас должно быть две таблицы в запросе, обе с import_date
столбец.Вам нужно будет использовать
WHERE date_format( `YourTableName`.`import_date`, "%Y-%m-%d" ) =
date_format( date_sub( now(), INTERVAL 11 DAY ), "%Y-%m-%d" )
Просто добавлю, что ваш запрос выше будет неэффективным, поскольку это не так. САРГАБЕЛЬНЫЙ
Я недостаточно знаком с MySQL, чтобы точно знать, что он делает, но вам определенно лучше переписать его как
WHERE `YourTableName`.`import_date` = x
или
WHERE `YourTableName`.`import_date` between x and y
по мере необходимости