Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie löst man einen Trigger aus, der diese Bedingung implementiert?

Hier ist ein Trigger für diesen Zweck:

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;

Der Code wird nach jeder Einfügung in die Tabelle paym ausgeführt . Wenn der neu eingefügte Datensatz beide Spalten table1 hat und table2 auf ungleich NULL gesetzt Werte, dann führt der Trigger ein UPDATE aus Abfrage, die 50 zur Spalte total_money hinzufügt in der Tabelle money für den Datensatz, der denselben username hat als neu eingefügter Datensatz in paym .