Как я могу отменить последний выполненный запрос mysql?как отменить запрос mysql?
ответ
Если определить тип таблицы как InnoDB, вы можете использовать транзакции (см ссылку ниже). Вам потребуется установить AUTOCOMMIT = 0, и после того, как вы сможете отправить COMMIT или ROLLBACK в конце запрос или сеанс для отправки или отмены транзакции.
ROLLBACK -- will undo the changes that you have made
Вы можете сделать это только во время транзакции.
BEGIN;
INSERT INTO xxx ...;
DELETE FROM ...;
Тогда вы можете:
COMMIT; -- will confirm your changes
Или
ROLLBACK -- will undo your previous changes
+1 для быстрого кода. – ptpaterson
Вы можете остановить запрос, который обрабатывается этим
Найти идентификатор процесса запроса от => показать PROCESSLIST;
Then => kill id;
в случае, если вам нужно не только отменить свой последний запрос (хотя, на ваш вопрос, на самом деле, это только указывает на это, я знаю), и поэтому, если транзакция может вам не помочь, вам необходимо реализовать обходной путь для этого:
скопируйте исходные данные перед отправкой запроса и запишите его по требованию на основе уникального идентификатора, который должен быть одинаковым в обеих таблицах; ваш список отката (с копиями неизмененных данных) и фактическая таблица (содержащие данные, которые должны быть отменены). для баз данных, имеющих множество таблиц, лучше всего использовать одну «откатную таблицу», содержащую структурированные дампы/копии исходных данных, а затем по одной для каждой фактической таблицы. он будет содержать имя фактической таблицы, уникальный идентификатор строки, а в третьем поле - контент в любом желаемом формате, который будет четко представлять структуру данных и значения (например, XML). на основе первых двух полей этот третий будет разбираться и записываться обратно в фактическую таблицу. четвертое поле с меткой времени поможет очистить этот откат.
так как в SQL-диалектах нет реального отменить, несмотря на «откат» в транзакции (пожалуйста, исправьте меня, если я ошибаюсь - возможно, теперь есть одно), это единственный способ, я думаю, и у вас есть написать код для этого по своему усмотрению.
Это звучит как «oops я только что удалил базу данных». – UnkwnTech
Нужна помощь тоже. Я просто опустошил все мои таблицы, вызванные ошибкой в коде –