Ne üzerinde herhangi bir güncelleştirme sorgusu yürütme sonrasında tablodaki eski değerleri geri almak için neler yapılabilir?

2 Cevap php

Ne üzerinde herhangi bir güncelleştirme sorgusu yürütme sonrasında tablodaki eski değerleri geri almak için neler yapılabilir?

PHP ve MySQL kullanarak DB am

2 Cevap

Varsayılan: nothing. Hiçbir yolu yoktur.

Belki sürece:

  • You were in a transaction (used BEGIN) and did not yet COMMIT. You can then ROLLBACK.
  • Sen AUTOCOMMIT ayarını 0 ile deyimi başladı. Yukarıya bakın.
  • Eğer yeni bir backup of your row/table/schema/database var. Örneğin kullanılarak MySQLDump.
  • Eğer yeni bir backup of your filesystem nerede veritabanının bulunduğu var. Örneğin, tape drives veya örgütleyici.
  • Sen var bir logfile with statements (örneğin mysql query log veya binary log) sağladı. Sonra boş bir tablo ile başlar ve masa dolu komutları yeniden yürütebilir.
  • Veritabanı (... hızlı olması) başka bir sistem üzerinde mirrored ve ayna henüz güncelleştirilmiş değil

Ama aksi halde, hayır, üzgünüm. Bilgileri kaybolur.

Gelecekte bu durumları önlemek için yukarıda belirtilen şeylerden birini yaparak düşünmeye başlamalıdır (sunucu bunu halledebiliriz geliştirirken yedeklemeler olmazlardan!, Günlük adviseable).

Eğer işlemleri kullanıyorsanız ve işlem taahhüt değil, sadece bir geri alma yapmak.

Bir işlemleri kullanmıyorsanız ya da işlem taahhüt varsa o zaman birine güvenen konum:

  • yedeklemeler
  • Uygulamaya özel işlevselliği eski değerleri yeniden sağlayacak güncelleştirmeleri oturum tabloda bir tetikleyici örneğin.

Hiçbir diğer yerli mekanizma yoktur.