Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment faire un déclencheur qui implémente cette condition?

Voici un déclencheur à cet effet :

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;

Le code s'exécutera après chaque insertion sur la table paym . Si l'enregistrement nouvellement inséré a les deux colonnes table1 et table2 défini sur non-NULL valeurs, le déclencheur exécute une UPDATE requête qui ajoute 50 à la colonne total_money dans la table money pour l'enregistrement qui a le même username comme enregistrement nouvellement inséré dans paym .