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

Auslöser für Spaltenwertänderung?

Auf neue Werte kann über NEW. zugegriffen werden , alt von OLD. . Sie können sie vergleichen, um festzustellen, ob Werte geändert wurden.

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;