执行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
操作前都要备份表,不要相信自己的大脑和爪子。