Я пытаюсь создать задание mysql cron для экспорта таблицы БД как csv со вчерашнего дня
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(date_created) = DATETIME(NOW() - INTERVAL 1 DAY)' at line 1
mysql -u db_user -pPASSWORD -h 00.00.00.00 db_name -B -e "select * FROM emailsignup_signup WHERE DATETIME(date_created) = DATETIME(NOW() - INTERVAL 1 DAY);" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > /var/www/subscribers/subscribers+date+"%Y%m%d_%H%M%S".csv
Я пробовал добавлять скобки вокруг переменных и избегать скобок. Я просто не могу понять, что делаю не так, чтобы получить эту ошибку
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(date_created) = DATETIME(NOW() - INTERVAL 1 DAY)' at line 1
каков фактический запрос?
его там «выберите * FROM emailsignup_signup WHERE DATETIME (date_created) = DATETIME (NOW () - INTERVAL 1 DAY)»; и тип - datetime. Запрос работает в phpmyadmin, а не в командной строке
Попробуйте DATE_SUB(CURDATE(), INTERVAL 1 DAY)
В MySQL нет функции DATETIME(). Готов поспорить, вы действительно использовали DATE() в PhpMyAdmin.
В этом тоже есть больше смысла. При использовании DATETIME() будут перечислены только пользователи, которые зарегистрировались ровно за 24 часа до запроса, с точностью до секунды, а не любое время в течение этого дня.






какой тип колонки
date_created?