wie man mysqldump der letzten 1000 Datensätze aus einer Datenbank nimmt
mysqldump
hat eine --where
Option. Angenommen, Sie haben eine Art Haushalt, um herauszufinden, was die letzten 1000 eingefügten Datensätze sind (z. B. ein Auto-Inkrement-Feld mit dem Namen id
), sollten Sie in der Lage sein, dies wie folgt an den mysqldump
Befehl anzuheften :
mysqldump --where "1=1 ORDER BY id DESC LIMIT 1000" DB_NAME TBL_NAME
Das 1=1
ist notwendig , weil das „WHERE“ Schlüsselwort in die Abfrage automatisch eingefügt wird, so dass Sie ihm einige SQL geben , müssen zu bewerten.
BEARBEITEN: An dieser Antwort wurde eine anonyme Bearbeitung vorgenommen, bei der das Leerzeichen zwischen --where und "1 = 1" entfernt wurde. Dabei wurde angegeben, dass der Befehl ohne Leerzeichen fehlerhaft ist. Ich habe es gerade getestet und es funktioniert mit dem Leerzeichen und Fehlern ohne Leerzeichen. Ich bin mir nicht sicher, was Der Herausgeber sah.
Der Fehler beim Auslassen des Leerzeichens:
mysqldump: unknown variable 'where1=1 ORDER BY UserID DESC LIMIT 1000'
--where="..."
oder-w "..."
siehe dev.mysql.com/doc/refman/5.6/en/…