Como dice el encabezado, en este momento me surge la necesidad de actualizar datos desde un TRIGGER pero usando un nombre del campo dinámico, Me explico
Tengo una tabla con los siguientes campos:
Tabla pedidos
Code: Select all
id_pedido INT auto_increment
id_cliente INT
fecha_pedido DATE
id_ciudad INT
Tabla resumen_pedidos_mes
Code: Select all
consecutivo INT auto_increment
id_cliente INT
mes1 INT
mes2 INT
mes3 INT
mes4 INT
.....
mes12 INT
Lo que quiere decir que si agrego un pedido que tenga la fecha '2020-10-01' se debe sumar +1 en el mes Octubre de tabla de resumen_pedidos_mes.
Lo intento de la siguiente manera pero hasta ahora sin éxito
Code: Select all
delimiter //
CREATE TRIGGER suma_pedido AFTER INSERT ON pedidos
FOR EACH ROW
BEGIN
DECLARE mesdb CHAR(5);
SELECT CONCAT("mes",month(NEW.fecha_pedido)) INTO mesdb;
UPDATE resumen_pedidos_mes SET mesdb=mesdb+1 WHERE id_cliente=NEW.id_cliente
END IF;
END;//
delimiter;