ĐÃ CẬP NHẬT:
- Có vẻ như bạn đã không thay đổi
DELIMITER
. - Rất có thể ý của bạn là
CURRENT_TIMESTAMP
thay vìCURTIMESTAMP()
không tồn tại
Điều đó được cho là một phiên bản chính xác về mặt cú pháp của trình kích hoạt của bạn có thể trông giống như
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 ;
hoặc (bởi vì bạn có một câu lệnh duy nhất trong trình kích hoạt của mình, bạn có thể bỏ qua BEGIN ... END
khối và DELIMITER
) đơn giản là
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());
Đây là SQLFiddle bản demo