Подтвердить что ты не робот

Как я могу отменить мою последнюю команду удаления в mysql?

Я случайно удалил огромное количество. строк из таблицы.

Как я могу отбросить его назад?

Я выполнил запрос, используя putty...

Буду признателен, если кто-нибудь из вас сможет безопасно провести меня с этим.

4b9b3361

Ответ 1

если вы не сделали резервную копию, вы сильно подделаны.

Ответ 2

Если вы еще не совершили транзакцию, попробуйте rollback. Если вы уже совершили транзакцию (через commit или, покинув клиент командной строки), вы должны восстановить данные из своей последней резервной копии.

Ответ 3

"Откат" работает только в том случае, если вы использовали transactions. Таким образом, вы можете группировать запросы вместе и отменять все запросы, если только один из них терпит неудачу.

Но если вы уже совершили транзакцию (или использовали обычный DELETE-запрос), единственный способ вернуть ваши данные - восстановить его из ранее сделанной резервной копии.

Ответ 4

Принятый ответ не всегда правильный. Если вы настроите двоичный журнал на mysql, вы можете откатить базу данных до любой предыдущей точки, в которой все еще есть моментальный снимок и binlog. http://dev.mysql.com/doc/refman/5.0/en/point-in-time-recovery.html является хорошей отправной точкой для изучения этого объекта.

Ответ 5

используйте команду BEGIN TRANSACTION перед запуском запросов. Чтобы вы могли ROLLBACK вещи в любой момент времени.

ДЛЯ ПРИМЕРА:

  • начать транзакцию
  • выберите * из Студента
  • удалить из Студента, где Id = 2
  • выберите * из Студента
  • Откат
  • выберите * из Студента

Ответ 6

Откат обычно не работает над этими функциями удаления, и, конечно же, резервная копия может спасти вас. Если резервной копии нет, тогда нет способа восстановить ее, поскольку запросы на удаление, запущенные на putty, дерби, использующие файлы .sql, автоматически включаются после запуска запроса удаления.

Ответ 7

Если вам нужны данные отката во-первых, вам необходимо выполнить autocommit = 0, а затем выполнить удаление запроса, вставить или обновить. После выполнения запроса выполните откат....

Ответ 8

i также удалил некоторые значения из моей базы данных разработки, но у меня была такая же копия в базе данных QA, поэтому я сделал сгенерированный script и выбранный вариант "тип данных до script" на "только данные" и выбрал мою таблицу, а затем я получил инструкции вставки с одинаковыми данными, а затем я запустил script в моей базе данных разработки.