Per terminare automaticamente una query in MySQL dopo un lungo tempo di esecuzione:
-
Crea una procedura memorizzata come:
DECLARE CURSOR cur1 FOR SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND = 'Query' AND TIME > 120;
quindi all'interno del ciclo di curosr fai:
FETCH ID INTO @var_kill_id; KILL QUERY @var_kill_id;
-
Crea
EVENT FOR EVERY 5 SECONDS
e soloCALL
la procedura sopra al suo interno.
Nota:KILL QUERY uccide semplicemente la query e la connessione MySQL non viene interrotta. vedi qui .