ĐÃ CẬP NHẬT:
- Có vẻ như bạn đã không thay đổi
DELIMITER. - Rất có thể ý của bạn là
CURRENT_TIMESTAMPthay 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