sql >> Database >  >> RDS >> Mysql

hoe waarde te krijgen van select-query in trigger in mysql5?

Voor een INSERT Trigger-query gebruikt u het object NEW
Voor een UPDATE Trigger-query gebruikt u het object OLD en NEW
Voor een DELETE Trigger-query gebruikt u het object OLD

Voorbeeld 1:als u INSERT INTO mytable (num) VALUES (10) hebt uitgevoerd;
In de INSERT-trigger verwijst u naar de kolom als NEW.num (10);

Voorbeeld 2:als u UPDATE mytable SET num =41 heeft uitgevoerd WHERE num =10;
In de UPDATE-trigger verwijst u naar OLD.num (10) en NEW.num (41)

Voorbeeld 3:als u DELETE mytable num =104 hebt uitgevoerd;
In de DELETE-trigger verwijst u naar OLD.num (104)

Gebruik zoiets als dit:

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. Nieuwe tabellen maken in IRI Workbench

  2. Spotlight Cloud Basic:de beste gratis tool voor het bewaken van databaseprestaties

  3. ORA-02270:geen overeenkomende unieke of primaire sleutel voor deze kolomlijst

  4. Hoe de primaire sleutel van de MySQL-tabel automatisch te laten toenemen met een of ander voorvoegsel?