取消 MySql 中的查询

取消 MySql 中的查询

我有一个运行了几个小时的查询,如果我取消这个查询,数据库会发生什么?

该查询是一个ALTER TABLE添加新列的查询。

更新:我这样执行了脚本

mysql -u username -p database

mysql> ALTER TABLE `table_name` ADD COLUMN `new_column` INT(1);

答案1

据我所知你可以运行:

显示进程列表;

要查看它是什么线程然后终止它:

杀死[连接|查询]线程id;

在 ALTER TABLE 期间,在从原始表读取每个行块之前都会检查 kill 标志。如果设置了 kill 标志,则中止该语句并删除临时表。

关于副作用,我无法确切地告诉您会发生什么。

答案2

我可能错了,但如果你没有指定BEGIN TRANSACTION,那么每个命令都是一个独立的事务。

因此,当您取消查询时不应该有任何副作用。

相关内容