Ich versuche, einen MySQL-Speicherauszug einiger Zeilen in meiner Datenbank zu erstellen. Ich kann dann den Speicherauszug verwenden, um diese wenigen Zeilen in eine andere Datenbank hochzuladen. Der Code, den ich habe, funktioniert, aber er gibt alles aus. Wie kann ich mysqldump dazu bringen, nur bestimmte Zeilen einer Tabelle zu sichern?
Hier ist mein Code:
mysqldump --opt --user=username --password=password lmhprogram myResumes --where=date_pulled='2011-05-23' > test.sql
--where="id IN(1,2,6,10)"
. Wobei id die Spalte in der Tabelle ist. Ref--no-create-info
zusammen mit Ihrer where-Klausel angeben , erstellt der neue Dump die Tabelle neu und löscht die bereits übertragenen Daten! Könnte offensichtlich sein, aber es hat mich jetzt zweimal erwischt.date_pulled='2011-05-23'
. Das bedeutet, dass Sie die einfachen Anführungszeichen in Anführungszeichen setzen oder maskieren müssen, damit sie in der Zeichenfolge enthalten sind und nicht als Anführungszeichen in der Shell-Syntax interpretiert werden. Das Hinzufügen von doppelten Anführungszeichen um das Ganze macht das, aber das würde--where=date_pulled="'2011-05-23'"
(oder--where=date_pulled=\'2011-05-23\'
oder sogar--where=date_pulled"'"2011-05-23"'"
).Sie müssen die "where" -Klausel zitieren.
Versuchen
quelle
Verwenden Sie diesen Code für bestimmte Tabellenzeilen unter Verwendung der LIKE-Bedingung.
quelle