Hier is een trigger voor dat doel:
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;
De code wordt uitgevoerd na elke invoeging op tafel paym
. Als het nieuw ingevoegde record beide kolommen heeft table1
en table2
ingesteld op niet-NULL
waarden, dan voert de trigger een UPDATE
. uit zoekopdracht die 50 toevoegt aan kolom total_money
in tabel money
voor de goede orde die dezelfde username
. heeft als het nieuw ingevoegde record in paym
.