我有一个查询运行几个小时,如果我取消这个查询会发生什么数据库?
查询是一个ALTER TABLE ,添加一个新的列。
更新:我这样执行脚本
mysql -u username -p database mysql> ALTER TABLE `table_name` ADD COLUMN `new_column` INT(1);
AFAIK你可以运行:
SHOW PROCESSLIST;
看看它是什么线程,然后杀死它:
杀死[连接| QUERY] thread_id;
在ALTER TABLE期间,在从原始表中读取每一行的行之前检查kill标志。 如果kill标志被设置,则语句被中止,临时表被删除。
关于副作用,我将无法确切地告诉你可能发生的事情。
我可能在这里是错的,但是如果你没有指定一个BEGIN TRANSACTION ,每一个命令都是一个独立的事务。
因此,当您取消查询时,不应该有任何副作用。