如何在 MySQL 中停止或中止或中断查询的执行?

siv*_*ddy 1 mysql sql mariadb

有没有办法立即停止在 MySQL 服务器中执行 SQL 脚本,例如“break”或“exit”命令?

我把我想运行的语句放在一个文件“updates.sql”中,并使用MySQL命令来执行:

mysql -u <username> <dtabase_name> < updates.sql


ALTER TABLE `app_batch`
ADD COLUMN `fee` DOUBLE NOT NULL AFTER `mode`;
ALTER TABLE `app_course` 
DROP COLUMN `course_fee`, 
DROP COLUMN `duration_type`,
DROP COLUMN `duration`,
Run Code Online (Sandbox Code Playgroud)

这是我在文件中的查询。

DROP COLUMN虽然它正在执行行事件

ADD COLUMN `fee` DOUBLE NOT NULL AFTER `mode`;
Run Code Online (Sandbox Code Playgroud)

失败

Thu*_*han 5

  1. 使用终端连接到 mysql 服务器(使用命令提示符,如果您使用的是 Windows)

    mysql -u[用户名] -p[密码]

  2. 运行以下命令以列出正在运行的查询。

mysql> show full processlist;

+----+------+-----------+------+---------+------+----------+-----------------------+
| Id | User | Host      | db   | Command | Time | State    | Info                  |
+----+------+-----------+------+---------+------+----------+-----------------------+
|  8 | root | localhost | NULL | Sleep   |   25 |          | NULL                  |
|  9 | root | localhost | NULL | Query   |    0 | starting | show full processlist |
+----+------+-----------+------+---------+------+----------+-----------------------+
2 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
  1. 然后按进程 ID 终止查询

    mysql> 杀死 9;