84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
执行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
操作前都要备份表,不要相信自己的大脑和爪子。