Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Speichern der USER_ID eines Benutzers, der einen Datensatz mit einem Trigger in MySQL gelöscht hat

Setzen Sie eine Sitzungsvariable auf die user_id und lassen Sie den Trigger den Löschvorgang abbrechen, wenn die Sitzungsvariable user_id keinen Wert user_id enthält.

Abfrage zum Festlegen der user_id in der MySQL-Sitzung:

SET @user_id = <value of user_id>

Neu löschen:

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