执行sql语句如下:
update main set state = 'process'
本来应该是要执行
update main set state = 'process' where id = '8136'
由于忘记了加条件,导致好十万的数据全部状态改错了。有没有办法将之前的数据还原的,之前没有做数据备份的啊?(当然我是测试环境的数据。但是状态不对,也会对业务线有影响的。)
求解。。
黄舟2017-04-17 14:55:59
更新操作は自動的にコミットされ、ロールバックする方法はありません。binlog がオンになっているかどうかを確認してから、ログにアクセスしてデータを見つけることのみです。
参考記事: http://データベース.51cto.com/art/ 201212/374563.htm
天蓬老师2017-04-17 14:55:59
まず rollback
を使用してみてください。うまくいかない場合は、バイナリログがあるかどうかを確認してください。
そうでない場合は、アイデアを教えてください。
ハードドライブに損傷を与えた場合は、ハードドライブが壊れていることをリーダーに伝えてください。
PHPz2017-04-17 14:55:59
このような悲劇が発生した場合、命を救う唯一の方法は binlog
です。
標準的な操作は、すべての INSERT
、UPDATE
、DELETE
操作の前にテーブルをバックアップすることです。自分の脳を信じないでください。足。