2015-08-13 80 views
0

我們可以撤銷mysql中的多個更改嗎?我刪除了一些行並做了select *來查看錶格。我看到了ROLLBACK,但我想它只能通過上次查詢恢復操作。我可以撤消刪除這些行嗎?在mysql中撤銷多個更改

如果無法撤消多個更改,是否有方法可以查看上次編輯的表並撤消在查看之前完成的更改?此外,在最後一次查詢提交之前進行了更改(即使AUTOCOMMIT爲0時)?

回答

0

對這一問題的解決方案是,請赫克,你的二進制日誌在您的服務器已被激活,如果你有二進制您的服務器上的活動日誌,你可以使用mysqlbinlog

taht產生與它

mysqlbinlog binary_log_file > query_log.sql 
一個sql文件後

然後找到你丟失的行。如果沒有,你必須保持從下次備份你的數據庫

0

從參考手冊:http://dev.mysql.com/doc/refman/5.1/en/commit.html

默認情況下,MySQL的運行啓用了自動提交模式。這意味着,只要您執行更新(修改)表的語句, MySQL將更新存儲在磁盤上以使其永久存在。

這意味着在刪除記錄(並明確或隱含地提交)之後,您無法將其滾回。

回滾是一種撤消事情,在表更改的數據,但爲了工作,你必須要麼:

  • 關閉自動提交,並用明確承諾的聲明。
  • 使transactions
  • 更改有引起隱含提交聲明:link