etraso de la transacción de MySQL en caso de error en la actualización

Con una transacción simple como

START TRANSACTION;
UPDATE posts SET status='approved' where post_id='id' AND status != 'approved';
.. other queries ...
COMMIT;

Deseo realizar la transacción solo una vez cuando cambie el estado; pero lo anteriorUPDATE no dará un error al deshacer la transacción cuando no se actualice ninguna fila.

¿Cómo puedo limitar la transacción para que se confirme solo si la fila se actualiza (quiero decir que se cambia el estado).

Respuestas a la pregunta(4)

Su respuesta a la pregunta