Hola amig@s.
Mi problema es el siguiente; Resulta que en un formulario de registro recojo una cadena de caracteres a modo de fecha en el formato dd/mm/aaaa. Por diversas razones, la conversión de la cadena debo hacerla con un trigger en mi base de datos mysql. Quiere decir, un trigger que me cambie el formato de la fecha a aaaa-mm-dd antes de ser insertada, ia que si intento insertar esta cadena en mi campo date me aparece como 0000-00-00 directamente.
Por el momento he intentado crear el trigger de la siguiente manera:
Código:
CREATE TRIGGER tr_formato_fecha BEFORE INSERT ON emp_users
BEGIN
DECLARE @anio char(4),
@mes char(2),
@dia char(2);
SET @anio = MID(NEW.fecha_nacimiento, 7, 4);
SET @mes = MID(NEW.fecha_nacimiento, 4, 2);
SET @dia = MID(NEW.fecha_nacimiento, 1, 2);
SET NEW.fecha_nacimiento = concat(@anio, "-",@mes,"-","dia");
END;
Lo he hecho con el DECLARE y sin él también, pero en cualquier caso Mysql sigue dándome error, el 1064.
Podeis decirme qué estoy haciendo mal??
Gracias!!