代码之家  ›  专栏  ›  技术社区  ›  Rohit Banga

如何回滚上次执行的mysql查询的效果

  •  7
  • Rohit Banga  · 技术社区  · 16 年前

    我刚下了命令

    update sometable set col = '1';
    

    错误地没有指定where条件。 是否可以恢复表的以前版本?

    3 回复  |  直到 16 年前
        1
  •  11
  •   Amber    16 年前

    除非你。。。

    1. 在运行查询之前启动了一个事务,并且。。。
    2. 尚未提交事务

    (如果不使用 transactions 当手动输入查询时,您可能希望在将来避免像现在这样的头痛。它们对于减轻5秒钟后意识到的那种错误是非常宝贵的。)

        2
  •  2
  •   FelixSFD Tushar Panjwani    9 年前

    考虑启用 sql_safe_updates

    SET SESSION sql_safe_updates = 1
    
        3
  •  1
  •   Paul Dixon    16 年前

    不,MySQL确实有 transaction support 对于某些表类型,但因为您要问这个问题,我敢打赌您没有使用它。