Я пытаюсь сделать дамп mysql нескольких строк в моей базе данных. Затем я могу использовать дамп для загрузки этих нескольких строк в другую базу данных. Код у меня работает, но все сбрасывает. Как я могу заставить mysqldump выгружать только определенные строки таблицы?
Вот мой код:
mysqldump --opt --user=username --password=password lmhprogram myResumes --where=date_pulled='2011-05-23' > test.sql
--where="id IN(1,2,6,10)"
. Где id - столбец в таблице. Ссылка --where--no-create-info
вместе с предложением where, новый дамп воссоздает таблицу и удалит уже переданные данные! Может быть очевидно, но это поймало меня дважды.date_pulled='2011-05-23'
. Это означает, что вам нужно заключить в кавычки или экранировать символы одинарных кавычек, чтобы они включались в строку, а не интерпретировались как кавычки в синтаксисе оболочки. Добавление двойных кавычек вокруг всего этого делает это, но так будет--where=date_pulled="'2011-05-23'"
(или--where=date_pulled=\'2011-05-23\'
, или даже--where=date_pulled"'"2011-05-23"'"
).Вы должны указать пункт «где».
Пытаться
mysqldump --opt --user=username --password=password lmhprogram myResumes --where="date_pulled='2011-05-23'" > test.sql
источник
Используйте этот код для определенных строк таблицы, используя условие LIKE.
mysqldump -u root -p sel_db_server case_today --where="date_created LIKE '%2018 %'" > few_rows_dump.sql
источник