Ответ 1
Вам может понадобиться использовать кавычки:
mysqldump -t -u root -p mytestdb mytable --where="datetime LIKE '2014-09%'"
mysqldump -t -u root -p mytestdb mytable --where=datetime LIKE '2014-09%'
Это то, что я делаю, и он возвращает:
mysqldump: Couldn't find table: "LIKE"
Я пытаюсь вернуть все строки, где столбец datetime
равен like 2014-09
, что означает "все сентябрьские строки".
Вам может понадобиться использовать кавычки:
mysqldump -t -u root -p mytestdb mytable --where="datetime LIKE '2014-09%'"
Выбор дат с помощью LIKE не очень хорошая идея. Я видел этот метод в одном проекте. Это вызывает огромную нагрузку на СУБД и медленную работу системы, так как индекс по этому столбцу таблицы не используется.
Если вам нужно выбрать диапазон дат, используйте:
where datetime between '2014-09-01' and '2014-09-30 23:59:59'