在Python中停止SQL查询

2 投票
1 回答
3549 浏览
提问于 2025-04-16 02:28

有没有办法让用户在Python中停止一个SQL查询的执行,如果这个查询花费了很长时间?我在考虑使用一个进度条和一个取消按钮,但我想知道有没有更好的方法来干净利落地停止它,而不是直接强行结束相关的线程?(我正在使用pysqlite2和MySQLdb这两个包)

1 个回答

3

我看到的唯一解决办法是获取进程的ID:

SHOW PROCESSLIST;

然后结束这个进程:

KILL <thread_id>;

我会用mysqldb来执行这些命令。

不过,你要小心回滚的问题。比如说,看看这个链接: 如果我停止一个运行时间很长的查询,它会回滚吗?

希望这能帮到你

撰写回答