2014-06-24 148 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,以将数据库恢复到自上次备份以来的任何时刻。