MySQL фактически обновляет строку только в том случае, если будет существенная разница до и после обновления. Ваш расчет в основном:
SET balance = balance + 40 - 40
Так что ничего не изменится, и MySQL не будет считать это как затронутую строку.
Примечание: не заключайте в кавычки числовые значения в sql. одинарные кавычки действуют как разделители строк. Для mysql в этом случае они автоматически конвертируются в числа, но это, во всяком случае, плохая практика.