sql >> Base de Datos >  >> RDS >> Mysql

¿Disparador para cambio de valor de columna?

Los nuevos valores son accesibles por NEW. , antiguo por OLD. . Puede compararlos para definir si se cambiaron los valores.

CREATE TRIGGER insert_template BEFORE INSERT ON template
FOR EACH ROW BEGIN
  SET NEW.gen_date := now();
  IF NEW.image <> '' THEN
    SET NEW.image_date := now();
  END IF;
END;

CREATE TRIGGER update_template BEFORE UPDATE ON template
FOR EACH ROW BEGIN
  IF NEW.image <> OLD.image THEN
    SET NEW.image_date := now();
  END IF;
END;