ZAKTUALIZOWANO:
- Wygląda na to, że nie zmieniłeś
DELIMITER
. - Najprawdopodobniej miałeś na myśli
CURRENT_TIMESTAMP
zamiast nieistniejącegoCURTIMESTAMP()
Mając to na uwadze, poprawna składniowo wersja wyzwalacza może wyglądać tak
DELIMITER $$
CREATE TRIGGER users_update_trigger
AFTER UPDATE ON users
FOR EACH ROW
BEGIN
INSERT INTO users_backlog (user_id, description, datetime) VALUES
(NEW.user_id, CONCAT('modified from ', OLD.hourly, ' to ', NEW.hourly), CURRENT_TIMESTAMP);
END$$
DELIMITER ;
lub (ponieważ masz tylko jedną instrukcję w wyzwalaczu, możesz pominąć BEGIN ... END
blok i DELIMITER
) po prostu
CREATE TRIGGER users_update_trigger
AFTER UPDATE ON users
FOR EACH ROW
INSERT INTO users_backlog (user_id, description, datetime) VALUES
(NEW.user_id, CONCAT('modified from ', OLD.hourly, ' to ', NEW.hourly), NOW());
Oto SQLFiddle demo