Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Crear trigger que guarde modificaciones

Estas en el tema de Crear trigger que guarde modificaciones en el foro de Mysql en Foros del Web. Hola!! Estoy trabajando en una aplicación, es un programa para gestionar clientes y sus servicios. Lo que quería hacer es un historial, o registro de ...
  #1 (permalink)  
Antiguo 15/05/2013, 12:47
 
Fecha de Ingreso: mayo-2007
Ubicación: Ramos Mejia - Buenos Aires
Mensajes: 153
Antigüedad: 17 años, 2 meses
Puntos: 0
Crear trigger que guarde modificaciones

Hola!!

Estoy trabajando en una aplicación, es un programa para gestionar clientes y sus servicios.

Lo que quería hacer es un historial, o registro de lo ultimo que se hizo en ese servicio, o sea cada vez que se modifica un nombre o cualquier modificación acerca de ese servicio me gustaria guardar.

Mi idea seria tener una tabla, por ej: logs que tengan los campos (id, campo, valor, fecha)

Y que en "campo" me guarde el campo que se modifico de la base de datos, ej "nombre", y en "valor" el nuevo valor de ese campo.
Con esto guardo el valor, el campo que se modificó y la fecha.

Yo cree algo, pero me quede trabado en algo, que de igual forma no estoy seguro si se puede hacer, hice esto:


delimiter //
create trigger pruebe after update on proyectos
for each row
begin
insert into logs_servicios (id_proyecto, campo , value, fecha) values(OLD.id_proyecto , NOSEQUEONER , NEW.nombre_proyecto, NOW() );
end//


Basicamente lo que hago con eso es guardar unicamente el campo "nombre_proyecto", pero yo necesito que se guarde cualquier campo que se modifique, no solo ese.


Bueno, espero que se entienda, capas fue medio confuso!

Gracias!!

Saludosss
__________________
Agustín Pucci
Web Hosting Argentina

Etiquetas: campo, insert, modificaciones, registro, tabla, trigger
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:26.