Oto wyzwalacz do tego celu:
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;
Kod zostanie uruchomiony po każdym wstawieniu do tabeli paym
. Jeśli nowo wstawiony rekord zawiera obie kolumny table1
i table2
ustawiony na inny niż NULL
wartości, a następnie wyzwalacz uruchamia UPDATE
zapytanie, które dodaje 50 do kolumny total_money
w tabeli money
dla rekordu, który ma tę samą username
jako nowo wstawiony rekord w paym
.