sql >> Databasteknik >  >> RDS >> Mysql

Hur gör man trigger som implementerar detta tillstånd?

Här är en trigger för detta ändamål:

DELIMITER $$
CREATE trigger update_money_after_paym
AFTER INSERT ON paym
FOR EACH ROW
BEGIN
    IF (NEW.table1 IS NOT NULL AND NEW.table2 IS NOT NULL) THEN
        UPDATE money SET total_money = total_money + 50 WHERE username = NEW.username;
    END IF;
END;
$$
DELIMITER;

Koden körs efter varje infogning i tabellen paym . Om den nyligen infogade posten har båda kolumnerna table1 och table2 inställd på icke-NULL värden kör utlösaren en UPDATE fråga som lägger till 50 till kolumnen total_money i tabellen money för posten som har samma username som den nyligen infogade posten i paym .




  1. Rangordning baserat på sekvens av datum

  2. SQLite UNION-operatör

  3. Hur övervakar jag min MySQL-replikeringsserver?

  4. Lägga till en nyckel till en tom hstore-kolumn