J'essaye de faire un vidage mysql de quelques lignes dans ma base de données. Je peux ensuite utiliser le vidage pour télécharger ces quelques lignes dans une autre base de données. Le code que j'ai fonctionne, mais il vide tout. Comment puis-je demander à mysqldump de ne vider que certaines lignes d'une table?
Voici mon code:
mysqldump --opt --user=username --password=password lmhprogram myResumes --where=date_pulled='2011-05-23' > test.sql
--where="id IN(1,2,6,10)"
. Où id est la colonne dans la table. Ref --where--no-create-info
avec votre clause where, le nouveau vidage recréera la table et supprimera les données déjà transférées! Cela peut être évident, mais cela m'a attrapé deux fois maintenantdate_pulled='2011-05-23'
. Cela signifie que vous devez citer ou échapper les guillemets simples, afin qu'ils soient inclus dans la chaîne plutôt que d'être interprétés comme des guillemets dans la syntaxe du shell. L'ajout de guillemets doubles autour de l'ensemble fait cela, mais il en serait de même--where=date_pulled="'2011-05-23'"
(ou--where=date_pulled=\'2011-05-23\'
, ou même--where=date_pulled"'"2011-05-23"'"
).Vous devez citer la clause «where».
Essayer
la source
Utilisez ce code pour des lignes de table spécifiques, en utilisant la condition LIKE.
la source