sql >> Databasteknik >  >> RDS >> Mysql

Sparar USER_ID för en användare som raderade en post med en utlösare i MySQL

Ställ in en sessionsvariabel till user_id och låt utlösaren avbryta borttagningen om sessionsvariabeln user_id inte har ett värde user_id i sig.

Fråga för att ställa in user_id i MySQL-session:

SET @user_id = <value of user_id>

Ny radering:

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



  1. Anropa PDO från en funktion

  2. Hur byter man ut lookahead i regex?

  3. Hur man sparar resultatet av MySql-frågan i variabel med hjälp av node-mysql

  4. Generera DDL programmatiskt på Postgresql