DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`town_afterUpdate` AFTER UPDATE ON `town` FOR EACH ROW BEGIN IF !(OLD.provinceFk <=> NEW.provinceFk) THEN CALL zoneGeo_setParent(NEW.geoFk, (SELECT geoFk FROM province WHERE id = NEW.provinceFk)); END IF; IF !(OLD.`name` <=> NEW.`name`) THEN UPDATE zoneGeo SET `name` = NEW.`name` WHERE id = NEW.geoFk; END IF; END$$ DELIMITER ;