Сравнение меток времени и дат в MySQL - неоднозначная ошибка

Это продолжение вопроса, с которым я получил помощь вчера здесь, но это немного другая проблема - я пытаюсь проверить, совпадает ли отметка времени mysql записи db с 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" ) 

1 ответ

Решение

Что касается вашей неоднозначной ошибки, вы должны иметь 2 таблицы в запросе с 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

при необходимости

Другие вопросы по тегам