【问题标题】:How to rollback the effect of last executed mysql query如何回滚上次执行的mysql查询的效果
【发布时间】:2010-05-15 07:16:54
【问题描述】:

我刚刚运行了一个命令

update sometable set col = '1';

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

【问题讨论】:

    标签: mysql rollback


    【解决方案1】:

    除非你……

    1. 在运行查询之前启动事务,然后...
    2. 尚未提交事务

    ...那么不,你很不走运,除非你自己做的数据库以前版本的任何备份。

    (如果您在手动输入查询时不使用 transactions,那么您可能希望在将来防止像现在这样的头痛。它们对于减轻已实现 5 秒后的问题非常宝贵有点错误。)

    【讨论】:

    • 我已经备份了与当前版本没有太大区别的数据库。所以这次省了。
    【解决方案2】:

    如果您担心再次做这种事情,请考虑启用sql_safe_updates

    SET SESSION sql_safe_updates = 1
    

    【讨论】:

      【解决方案3】:

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

      每个人都这样做一次。当你这样做两次时,你就不必担心了:)

      【讨论】:

        猜你喜欢
        • 2018-07-22
        • 1970-01-01
        • 2020-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-06
        相关资源
        最近更新 更多