撤消mysql中的多个更改

时间:2015-08-13 12:54:39

标签: mysql

我们可以撤消mysql中的多个更改吗?我删除了一些行,然后选择*来查看表格。我看到了ROLLBACK,但我猜它只会通过上一次查询恢复操作。我可以撤消删除这些行吗?

如果无法撤消多个更改,是否有办法查看上次编辑的表并在查看之前撤消更改?此外,是否提交了最后一个查询之前的更改(即使AUTOCOMMIT为0)?

2 个答案:

答案 0 :(得分:0)

参考手册:http://dev.mysql.com/doc/refman/5.1/en/commit.html

  

默认情况下,MySQL在启用自动提交模式的情况下运行。这意味着   一旦执行更新(修改)表的语句,   MySQL将更新存储在磁盘上以使其永久化。

这意味着在删除记录(并显式或隐式提交)后,您无法回滚它们。

对于更改表中数据的内容,回滚是一种撤消操作,但是为了使用它,您必须:

  • 关闭自动提交并明确使用提交语句。
  • transactions
  • 中进行更改
  • 存在导致隐式提交的语句:link

答案 1 :(得分:0)

该问题的解决方案是,请注意您的服务器中已激活二进制日志,如果您的服务器上有二进制日志,则可以使用mysqlbinlog

用它生成一个sql文件之后

mysqlbinlog binary_log_file > query_log.sql

然后找到你丢失的行。如果不是你下次需要备份你的数据库