最新の1000レコードのmysqldump


11

データベースから最新の1000レコードのmysqldumpを取得する方法

回答:


18

mysqldump--whereオプションがあります。最後に挿入された1000件のレコードが何であるかを把握するための何らかの基準(たとえば、という自動インクリメントフィールドid)があると仮定すると、次のようにコマンドに追加できますmysqldump

mysqldump --where "1=1 ORDER BY id DESC LIMIT 1000" DB_NAME TBL_NAME

1=1「WHERE」キーワードがクエリに自動的に挿入されるため、これが必要です。そのため、評価するSQLを指定する必要があります。

編集:--whereと "1 = 1の間のスペースを削除して、この応答に対して匿名の編集が行われました。コマンドはスペースなしでエラーになりました。テストしました。編集者が見ていました。

スペースを空けるときのエラー:

mysqldump: unknown variable 'where1=1 ORDER BY UserID DESC LIMIT 1000'

私はあなたが提案したことを行い、あなたの答えを支持しましたが、完全性制約違反はどうですか?
リコルナ

それはまったく別の問題です。私の解決策はせいぜいハックです。あなたが戻ってどこかの行を置くための整合性が必要な場合、それは厳しい問題とあなたの設計に非常に依存することになるだろう
jj33

答えが最初に投稿されましたので、これはおそらく変更されましたが、mysqldumpをドキュメントは現在、オプションはどちらかとして指定されなければならないと言う--where="..."か、-w "..."参照用dev.mysql.com/doc/refman/5.6/en/...
マットPassell

1
データベース全体のすべてのテーブルの最後の100行のmysqldumpを取得する方法は?
ラキブ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.