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

Syntaxe de "mise à jour sur la colonne" du déclencheur MySQL

Vous ne pouvez pas spécifier que le déclencheur doit être exécuté uniquement lors de la mise à jour de colonnes spécifiques (un UPDATE affecte l'intégralité de l'enregistrement), mais vous pouvez tester les colonnes qui ont été mises à jour dans votre déclencheur :

DELIMITER ;;

CREATE TRIGGER my_trigger BEFORE UPDATE ON TABLE_NAME FOR EACH ROW
IF NOT (NEW.col1 <=> OLD.col1 AND NEW.col2 <=> OLD.col2) THEN
  SET NEW.col3 = NEW.col3 + 1;
END IF;;

DELIMITER ;