DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`itemShelving_beforeUpdate` BEFORE UPDATE ON `itemShelving` FOR EACH ROW BEGIN SET NEW.editorFk = account.myUser_getId(); IF NEW.userFk IS NULL THEN SET NEW.userFk = account.myUser_getId(); END IF; IF (NEW.visible <> OLD.visible) THEN SET NEW.available = GREATEST(NEW.available + NEW.visible - OLD.visible, 0); END IF; END$$ DELIMITER ;