Mysqldump с предложением wherewhere не работает

 mysqldump -t -u root -p  mytestdb mytable --where=datetime LIKE '2014-09%'

Это то, что я делаю, и он возвращает:

mysqldump: Couldn't find table: "LIKE"

Я пытаюсь вернуть все строки, где столбец datetime равен like 2014-09, что означает "все сентябрьские строки".

Ответ 1

Вам может понадобиться использовать кавычки:

mysqldump -t -u root -p  mytestdb mytable --where="datetime LIKE '2014-09%'"

Ответ 2

Выбор дат с помощью LIKE не очень хорошая идея. Я видел этот метод в одном проекте. Это вызывает огромную нагрузку на СУБД и медленную работу системы, так как индекс по этому столбцу таблицы не используется.

Если вам нужно выбрать диапазон дат, используйте:

where datetime between '2014-09-01' and '2014-09-30 23:59:59'