То, как откатывать эффект последних, выполнило запрос mysql

Я просто выполнил команду

update sometable set col = '1';

по ошибке не указывая, где условие. Действительно ли возможно восстановить предыдущую версию таблицы?

8
задан Michael Petrotta 15 May 2010 в 07:18
поделиться

3 ответа

Если вы ...

  1. Запустили транзакцию перед выполнением запроса и ...
  2. Еще не зафиксировали транзакцию

... тогда нет, вы Вам не повезло, если вы не хотите создавать резервные копии предыдущих версий базы данных, которые вы, возможно, создали сами.

(Если вы не используете транзакции при ручном вводе запросов, вы, возможно, захотите в будущем предотвратить головную боль, подобную той, которая у вас, вероятно, есть сейчас. Они неоценимы для смягчения последствий реализованных 5 Ошибка типа "секунды спустя".)

11
ответ дан 5 December 2019 в 12:08
поделиться

Рассмотрите возможность включения sql_safe_updates в будущем, если вы беспокоитесь о том, чтобы снова сделать что-то подобное.

SET SESSION sql_safe_updates = 1
2
ответ дан 5 December 2019 в 12:08
поделиться

Нет. MySQL поддерживает транзакции для некоторых типов таблиц, но, поскольку вы задаете этот вопрос, держу пари, вы его не используете.

Каждый делает это один раз. Когда вы делаете это дважды, вы должны волноваться :)

1
ответ дан 5 December 2019 в 12:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: