mysqldump en son 1000 kayıt


11

bir veritabanından en son 1000 kayıt mysqldump nasıl alınır

Yanıtlar:


18

mysqldumpbir --whereseçeneği var. Son eklenen 1000 kaydın ne olduğunu (örneğin, otomatik artış alanı olarak adlandırılır id) bulmak için bir çeşit güvenceye sahip olduğunuzu varsayarsak , bunu aşağıdaki mysqldumpgibi komut üzerine yapıştırabilmeniz gerekir :

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

1=1Bunu değerlendirmek için bazı SQL vermek zorunda böylece "NEREDE" anahtar kelime, otomatik sorgusuna sokulduğu için gereklidir.

DÜZENLEME: Bu yanıta anonim bir düzenleme yapıldı - "-" ve "1 = 1 arasındaki boşluğu kaldırarak, komutun boşluk bıraktığını söyleyerek. Sadece test ettim ve boşluk olmadan boşluk ve hatalarla çalışıyor, ne olduğundan emin değilim editör görüyordu.

Boşluk bırakılırken hata oluştu:

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

Önerdiğiniz şeyi yaptım ve cevabınızı iptal ettim, ama ya bütünlük kısıtı ihlali?
licorna

Bu başka bir sorun. Benim çözümüm en iyi ihtimalle bir hack'tir. Satırları başka bir yere geri koymak için bütünlük istiyorsanız, bu daha zor bir sorun olacaktır ve tasarımınıza çok bağımlı olacaktır
jj33

Cevap aslen yayınlanmıştır beri Bu muhtemelen değişti ama Mysqldump dokümanlar artık seçenek olarak belirtilebilir gerektiğini söylemek --where="..."ya -w "..."bakın dev.mysql.com/doc/refman/5.6/en/...
Matt Passell

1
tüm veritabanında HER TABLO için son 100 satır mysqldump nasıl edinilir?
Rakib
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.