Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/07/2017, 12:14
paez903
 
Fecha de Ingreso: marzo-2016
Ubicación: venezuela
Mensajes: 12
Antigüedad: 8 años, 2 meses
Puntos: 0
Información Estructura de llamado para Triggers MYSQL

La funcionalidad de los disparadores sigue siendo necesaria para el control de los movimientos de forma eficiente dentro de muchos sistema, estoy trabajando con disparadores en un proyecto que estoy realizando, a ver si me puedes ayudar, a ver les cuento los disparadores ya me están funcionando bien, insertar actualizar y eliminar pero tengo un detalle al momento de registrar el proceso en la bitacora me registra es el usuario que tenia ese registro mas no el usuario que esta realizando la acción.

esto dos mis disparadores

Disparadores
Código MySQL:
Ver original
  1. --
  2. DELIMITER $$
  3. CREATE TRIGGER `Elimino_persona` AFTER DELETE ON `personas` FOR EACH ROW BEGIN
  4. DELETE FROM recuperador WHERE cedula = OLD.cedula;--> acciones que van relacionadas con la persona para recuperar el acceso al sistema ante el olvido de usuario y clave
  5. DELETE FROM directorio WHERE cedula = OLD.cedula;-->
  6. acciones que van relacionadas con la persona como es su direccion
  7.  
  8. disparadore como tal en la opción de eliminar
  9. insert into bitacora (usuario,sesion,operacion,tabla,fecha,registro) values (CURRENT_USER,OLD.usuario,"Elimino","Funcionario",NOW(),OLD.cedula);
  10. $$
  11. DELIMITER ;
  12. DELIMITER $$
  13. CREATE TRIGGER `actualizar_persona` BEFORE UPDATE ON `personas` FOR EACH ROW insert into bitacora (usuario,sesion,operacion,tabla,fecha,registro) values (CURRENT_USER,NEW.usuario,"Actualizo","Funcionario",NOW(),NEW.cedula)
  14. $$
  15. DELIMITER ;
  16. DELIMITER $$
  17. CREATE TRIGGER `insertar_persona` BEFORE INSERT ON `personas` FOR EACH ROW insert into bitacora (usuario,sesion,operacion,tabla,fecha,registro) values (CURRENT_USER,NEW.usuario,"Inserto","Funcionario",NOW(),NEW.cedula)
  18. $$
  19. DELIMITER ;

y en la bitacora me lo almacena de la siguiente manera


usuario sesion operacion tabla registro fecha
root@localh 15756146 Elimino Funcionario 15756146 2017-07-27 11:52:08
root@localh 15756146 Inserto Funcionario 15756146 2017-07-27 12:22:22

como lo tengo en un servidor local me muestra como usuario root@localh que pertenece al usuario de MYSQL pero el detalle esta en que quisiera que me muestra el usuario que realizo la acción desde php en esta caso fue el administrador, donde dice sesion me deberia aparecer Admin por ejemplo, pero en cambio me parace 15756146 que en este caso es el usuario pero de la persona que elimine y luego volvi a registrar.

si me pueden orientar que estoy haciendo mal.

Última edición por gnzsoloyo; 27/07/2017 a las 20:24