Estou tentando fazer um dump do mysql de algumas linhas em meu banco de dados. Posso então usar o dump para fazer upload dessas poucas linhas em outro banco de dados. O código que tenho está funcionando, mas despeja tudo. Como posso fazer com que o mysqldump descarregue apenas certas linhas de uma tabela?
Aqui está o meu código:
mysqldump --opt --user=username --password=password lmhprogram myResumes --where=date_pulled='2011-05-23' > test.sql
--where="id IN(1,2,6,10)"
. Onde id é a coluna da tabela. Ref --where--no-create-info
junto com sua cláusula where, o novo dump recriará a tabela e excluirá os dados já transferidos! Pode ser óbvio, mas já me pegou duas vezes.date_pulled='2011-05-23'
. Isso significa que você precisa colocar aspas ou escapar dos caracteres de aspas simples, então eles são incluídos na string em vez de serem interpretados como aspas na sintaxe do shell. Adicionar aspas duplas ao redor da coisa toda faz isso, mas também faria--where=date_pulled="'2011-05-23'"
(ou--where=date_pulled=\'2011-05-23\'
, ou até mesmo--where=date_pulled"'"2011-05-23"'"
).Você precisa citar a cláusula "where".
Experimentar
fonte
Use este código para linhas específicas da tabela, usando a condição LIKE.
fonte