Mysql
 sql >> база данни >  >> RDS >> Mysql

как да получа стойност от заявка за избор в тригер в mysql5?

За заявка за задействане INSERT ще използвате обекта NEW
За заявка за задействане UPDATE ще използвате обекта OLD и NEW
За заявка за задействане DELETE ще използвате обекта OLD

Пример 1:ако сте изпълнили INSERT INTO mytable (num) VALUES (10);
В тригера INSERT вие препращате към колоната като NEW.num (10);

Пример 2:ако сте изпълнили UPDATE mytable SET num =41 WHERE num =10;
В тригера UPDATE вие препращате към OLD.num (10) и NEW.num (41)

Пример 3:ако сте изпълнили DELETE mytable num =104;
В тригера DELETE вие препращате към OLD.num (104)

Използвайте нещо подобно:

DELIMITER $$

create trigger my_trigger
AFTER UPDATE on my_update_table
for each row
begin

    DECLARE P1,P2 VARCHAR(50);

    SELECT PRICENAME INTO P1 FROM PRICEIES WHERE PRICEID=OLD.PRICEID;
    SELECT PRICENAME INTO P2 FROM PRICEIES WHERE PRICEID=NEW.PRICEID;
    INSERT INTO AUDITLOG(OLDVALUE, NEWVALUE) VALUES (P1,P2);

end $$

DELIMITER ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. UnsupportedOperationException с DriverManager.getConnection() на Android

  2. Искам да изтрия ред от двете таблици

  3. ЗАРЕДЕТЕ INFILE с данни с променливи

  4. трябва да върне два набора данни с две различни клаузи where

  5. Преместване на таблица от една база данни в друга в MySQL