如何撤消mysql查询?

Har*_*nna 48 mysql rollback

如何撤消最近执行的mysql查询?

小智 34

如果将表类型定义为InnoDB,则可以使用transactions.You将需要设置AUTOCOMMIT = 0,并且可以在查询或会话结束时发出COMMIT或ROLLBACK以提交或取消事务.

ROLLBACK -- will undo the changes that you have made
Run Code Online (Sandbox Code Playgroud)


Pal*_*tir 30

您只能在交易期间执行此操作.

BEGIN;
INSERT INTO xxx ...;
DELETE FROM ...;
Run Code Online (Sandbox Code Playgroud)

然后你可以:

COMMIT; -- will confirm your changes
Run Code Online (Sandbox Code Playgroud)

要么

ROLLBACK -- will undo your previous changes
Run Code Online (Sandbox Code Playgroud)


hal*_*dan 20

基本上:如果您正在进行交易,只需进行回滚即可.否则,您无法"撤消"MySQL查询.

  • 有关交易的MySQL文档:http://dev.mysql.com/doc/refman/5.0/en/commit.html (3认同)

小智 5

您可以停止正在处理的查询

通过 => show processlist 查找查询进程的Id;

然后=>杀死id;


ade*_*rsq 5

对于某些指令,如ALTER TABLE,即使使用事务(12),MySQL也无法做到这一点.