2014-06-24 194 views
1

我有一個很多的創建,變更和修改數據庫的SQL文件。如果我需要在執行sql腳本後的某個時間點(最多一天)退出,是否有一種簡單的方法可以做到這一點?例如,是否有任何工具可以讀取一個sql腳本並從中產生一個「回滾」腳本?顛倒sql語句?

我使用SQLyog的藏漢,如果剛好有內置任何這樣的功能(我沒有帶發現的)

+0

我認爲你需要PsychicSQl論壇 – Strawberry

+1

你可能有的唯一選擇是恢復到備份。請參閱[使用二進制日誌的時間點(增量)恢復](http://dev.mysql.com/doc/refman/5.1/en/point-in-time-recovery.html)和[數據庫備份方法](http://dev.mysql.com/doc/refman/5.1/en/backup-methods.html)。請注意,這些都很耗時。 – Nivas

回答

3

沒有,對不起,不能從着眼於使許多語句SQL命令。

  • DROP TABLE(什麼是該刪除的表?)
  • UPDATE mytable SET timestamp = NOW()(之前是什麼時間戳?)
  • INSERT INTO mytable (id) VALUES (NULL)(被自動遞增,什麼行創建假設ID?)

許多人...

如果你想從你的一天的變化,然後才能恢復數據庫時,你開始之前,昌採取備份它。

您還可以使用二進制日誌執行point-in-time recovery,以將數據庫恢復到自上次備份以來的任何時刻。