Da mysql :
Quindi hai un ciclo infinito quando nessun record trovato con un dato x (y rimane invariato)Prova SET y = (SELECT id ....) invece o aggiungi SET y = null prima della tua istruzione select (dovrebbe essere la prima istruzione nel ciclo)