Quería preguntarles si es posible detectar cambios precisos realizados en 1 registro de una tabla por medio de un trigger y almacenar todas las columnas que se hayan modificado en un campo, sería algo como utilizar en el trigger Una comparación de Columnas OLD y NEW y en dicha comparación si es diferente esta misma meterle a una variable el antes y después, para que cuando se hayan comparados todas las columnas del registro con el antes y el después, me mande en un solo campo todos los cambios realizados en una sola columna por medio de la variable.
Me explicare:
Tengo una tabla user con los campos iduser,apellido1, apellido2, nombre1,nombre2
El trigger sería así:
Código MySQL:
Ver original
DELIMITER $$ /*Comparación de Cada una de las Calumnas if es diferente se le concatena a la variable que guarda todos los cambios realizados*/ END$$ DELIMITER ;
El problema es que este trigger me ingresa 1 registro por cada columna modificada y yo necesito es que todas las modificaciones se almacenen en 1 solo registro no en varios, este trigger me hace lo siguiente :
Código MySQL:
Ver original
#por ejemplo si modifico un registro en el que apellido2 era igual a Gutierrez por Sanchez y nombre2 era igual a Juan por Pedro, en la tabla changesonusers se ingresaria esto: +-------------------------------------+ |iduser| description | |-------------------------------------| | 1 |Antes:Gutierrez Ahora:Sanchez | |-------------------------------------| | 1 |Antes:Juan Ahora:Pedro | |-------------------------------------| # Pero yo lo que necesito que haga es esto +------------------------------------------------------------+ |iduser| description | |------------------------------------------------------------| | 1 |Antes:Gutierrez Ahora:Sanchez,Antes:Juan Ahora:Pedro | |------------------------------------------------------------|
Es posible Hacerlo cualquier ayuda será bienvenida
Mil gracias...