永发信息网

如何撤销一个已经执行的更新SQL语句

答案:2  悬赏:70  手机版
解决时间 2021-03-23 21:48
  • 提问者网友:焚苦与心
  • 2021-03-23 01:29
如何撤销一个已经执行的更新SQL语句
最佳答案
  • 五星知识达人网友:雪起风沙痕
  • 2021-03-23 02:11
如果没有提交,可以撤回,如果已经提交,则看是否有备份。 如果有备份,那么恢复数据库到另外的地方,然后此表恢复。
    可以用rollback transaction来回滚和撤销,我也犯过好几次update后面没有加where条件的严重错误,幸好事先有备份,可以用覆盖的方式来恢复,所以后来我在执行任何一条update语句前都要写注释-别忘了加where条件。
    这个只能使用事务了,具体是设置成不默认提交事务,此时所做的各种操作都没有反应到数据库中。这时,你可以rollback事务,撤销所有未提交的修改。不过,一旦你commit了的话,就真没办法撤销了。
全部回答
  • 1楼网友:山君与见山
  • 2021-03-23 02:40
如果没提交,回滚即可
如果已经提交,那只有再次执行update更新为之前的数据,如果不记得原有的数据,oracle的话一般来说(默认配置)可以用as of timestamp查询到24小时内任一时刻的数据,其他数据库不太清楚是否有类似找回的办法,这也即是热备的重要性啊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯