Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapisywanie USER_ID użytkownika, który usunął rekord z wyzwalaczem w MySQL

Ustaw zmienną sesji na user_id i poproś wyzwalacz o przerwanie usuwania, jeśli zmienna sesji user_id nie ma w niej wartości user_id.

Zapytanie o ustawienie identyfikatora użytkownika w sesji MySQL:

SET @user_id = <value of user_id>

Nowe usunięcie:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Policz liczbę wierszy zawierających tę samą wartość

  2. Wiele JOINS tabeli MySQL wymaga połączenia wyników 1 tabeli w jedno pole kolumny

  3. Jak pokazać tabele jako podobne rzeczy?

  4. Jak MySQL obsługuje jednoczesne wstawianie?

  5. SQLAlchemy WHERE IN pojedyncza wartość (surowy SQL)