sql >> Base de Datos >  >> RDS >> Mysql

Guardar el USER_ID de un usuario que eliminó un registro con un disparador en MySQL

Establezca una variable de sesión en el id_usuario y haga que el activador cancele la eliminación si la variable de sesión id_usuario no tiene un valor id_usuario.

Consulta para configurar user_id en la sesión de MySQL:

SET @user_id = <value of user_id>

Nueva eliminación:

CREATE TRIGGER `db`.`delete_history_trigger` BEFORE DELETE ON `db`.`payments`
   FOR EACH ROW BEGIN
      INSERT INTO `payments_history` select *, 'delete', NOW(), USER(), @user_id from `payments` where `PAYMENT_ID` = OLD.`PAYMENT_ID`;
   END
//