84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
执行sql语句如下:
update main set state = 'process'
本来应该是要执行
update main set state = 'process' where id = '8136'
由于忘记了加条件,导致好十万的数据全部状态改错了。有没有办法将之前的数据还原的,之前没有做数据备份的啊?(当然我是测试环境的数据。但是状态不对,也会对业务线有影响的。)
求解。。
欢迎选择我的课程,让我们一起见证您的进步~~
update操作是自動commit的,沒有辦法回滾,你只能看看有沒有開啟binlog,然後去log裡面找資料參考文章:http://database.51cto.com/art/ 201212/374563.htm
你先用rollback試試,不行的話就看有沒有binlog了。 如果都沒有,我給你出個主意:你把硬碟搞壞,就跟領導說硬碟壞了!
rollback
恩,出現這種悲劇只能找binlog這根最後救命稻草了。
binlog
所以規範的操作就是:所有INSERT, UPDATE, DELETE操作前都要備份表,不要相信自己的腦袋和爪子。
INSERT
UPDATE
DELETE
update操作是自動commit的,沒有辦法回滾,你只能看看有沒有開啟binlog,然後去log裡面找資料
參考文章:http://database.51cto.com/art/ 201212/374563.htm
你先用
rollback
試試,不行的話就看有沒有binlog了。如果都沒有,我給你出個主意:
你把硬碟搞壞,就跟領導說硬碟壞了!
恩,出現這種悲劇只能找
binlog
這根最後救命稻草了。所以規範的操作就是:所有
INSERT
,UPDATE
,DELETE
操作前都要備份表,不要相信自己的腦袋和爪子。