The syntax does not mark any error which means that I have bad logic, the problem is that I am new in phpmyadmin
and I do not know very well if I place the if correctly
DELIMITER $$
CREATE TRIGGER VALIDADOR BEFORE INSERT ON validaciones FOR EACH ROW BEGIN
SET @FOLIO=(SELECT new.folio FROM validaciones);
SET @NOMBRE= (SELECT new.nombre FROM validaciones);
SET @APELLIDO=(SELECT new.apellido FROM validaciones);
SET @COLONIA=(SELECT new.colonia FROM validaciones);
SET @CALLE=(SELECT new.calle FROM validaciones);
SET @NUM=(SELECT new.num FROM validaciones);
SET @CP=(SELECT new.cp FROM validaciones);
SET @CIUDAD=(SELECT new.ciudad FROM validaciones);
SET @FORMA_DE_PAGO=(SELECT new.forma_pago FROM validaciones);
SET @factura= (SELECT new.nombre_fact from validaciones);
SET @TIPO= (SELECT new.type from validaciones);
SET @DATOS=(SELECT new.data from validaciones);
SET @usuario= (SELECT new.nombreusu from validaciones);
SET @FECHA =(SELECT new.fecha FROM validaciones);
SET @accion = "";
IF @FOLIO = 0 THEN BEGIN SET @accion = "El error es el folio";
END;
END IF;
IF @NOMBRE='E' THEN BEGIN SET @accion = "El error es el nombre";
END;
END IF;
IF @APELLIDO = 'E' THEN BEGIN SET @accion = "El error es el nombre";
END;
END IF;
IF @NUM = 0 THEN BEGIN SET @accion = "El error es el nombre";
END;
END IF;
IF @CP = 0 THEN BEGIN SET @accion = "El error es el nombre";
END;
END IF;
IF @CIUDAD = 'E' THEN BEGIN SET @accion = "El error es el nombre";
END;
END IF;
IF @FORMA_DE_PAGO ='E' THEN BEGIN SET @accion = "El error es el nombre";
END;
END IF;
IF @accion <> "" THEN BEGIN
INSERT INTO log (fecha_val,error,nombre_fact,nombre) VALUES (@FECHA,@accion,@factura,@usuario);
END;
END IF;
IF @accion = "" THEN BEGIN
SET @accion = "no hay error";
INSERT INTO log (fecha_val,error,nombre_fact,nombre) VALUES (@FECHA,@accion,@factura,@usuario);
INSERT INTO validaciones (folio, nombre,apellido,colonia,calle,num,cp,ciudad,forma_pago,nombre_fact,type,data,nombreusu,fecha)
VALUES (@FOLIO,@NOMBRE,@APELLIDO,@COLONIA,@CALLE,@NUM,@CP,@CIUDAD,@FORMA_DE_PAGO,@factura,@TIPO,@DATOS,@usuario,@FECHA);
END;
END IF;
END$$
DELIMITER ;