Mysql
 sql >> Database >  >> RDS >> Mysql

Salvataggio dello USER_ID di un utente che ha eliminato un record con un trigger in MySQL

Imposta una variabile di sessione su user_id e fai in modo che il trigger annulli l'eliminazione se la variabile di sessione user_id non contiene un valore user_id.

Query per impostare user_id nella sessione MySQL:

SET @user_id = <value of user_id>

Nuova eliminazione:

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
//