我正在运行一个python脚本,它执行包含许多行的mysql查询。查询需要花费大量时间来运行,有时我需要停止脚本来更改某些内容或重新开始。有没有办法告诉mysql服务器脚本正在终止(例如,如果发生KeyboardInterrupt异常)并且不再需要查询结果?
我尝试关闭mysql连接,但它没有用。查询的执行继续进行。
我知道我可以直接从服务器终止查询,但我希望脚本自己完成。
我正在使用mysql-connector-python库,版本是2.0.2。
答案 0 :(得分:1)
您可以将代码包装在try except块中,并在引发异常时终止查询。这样的事情:
pid = <get the pid of the query>
try:
.... your code
except:
cursor.execute('kill %s', pid)