MySQLの'where'句なしでテーブルを更新したという大きな間違いをしました:'(
自動コミットされます。
それからロールバックする方法はありますか?
MySQLの'where'句なしでテーブルを更新したという大きな間違いをしました:'(
自動コミットされます。
それからロールバックする方法はありますか?
いいえ、コミットされたデータ変更クエリを「元に戻す」クエリはありません。
データベースのバックアップがある場合は、バックアップを復元し、DBAツール(MySQLの場合はmysqlbinlog)を使用して、バックアップ以降のすべてのデータ変更クエリをログからデータベースに「再生」できますが、スキップしてください。問題のクエリ。
バックアップとそのバックアップ以降のすべてのログがない場合、データを回復するためにできることは何もありません。
トランザクションログを検索します。詳細を更新しますが、ログは限られた時間しか留まらない可能性があるため、時間が重要です。
参照:http ://dev.mysql.com/doc/refman/5.0/en/point-in-time-recovery.html
mysql binlogを有効にしていて、それがROWベースの形式である場合は、更新の前後の各行の値を取得できます。これを使用して、テーブルの状態を復元できます。