Ripensando a quanto ti ho scritto la query funzionerà solo se gli id saranno progressivi.
Se ad esempio hai un record con id 5 e il precedente è il numero 3 la query che ti ho scritto non aggiornerà tale record. Vedi un pò tu cosa ti serve.

edit. Adesso mi pare vada bene anche in presenza di record mancanti

codice:
UPDATE tabella SET prova = "ok"
WHERE id in (
SELECT MAX(b.id) AS precedente
FROM tabella AS a INNER JOIN tabella AS b ON b.id < a.id
WHERE a.stato = -1
GROUP BY a.id);