Insisto en que le quites esto:
Si el campo "fecha" de SALDOS es un DATE o DATETIME, debería ser así:
Código SQL:
Ver originalIF DATE(NEW.fecha) <= CURDATE() THEN
No es buena práctica realizar conversiones de datos innecesarias, y en ese caso lo estás obligando a MySQL a realizar una
doble conversión, primero a caracteres (DATE_FORMAT()), y luego a DATE, por comparar la cadena de texto contra una fecha.
No lo hagas. Reduce performance.