Mysql
更新嵌套行
我正在嘗試使用此程式碼:
DELIMITER // CREATE TRIGGER myTrigger AFTER UPDATE ON cityies FOR EACH ROW BEGIN if NEW.visitors <=> OLD.visitors THEN set visit_time = now() END IF; END;// DELIMITER ;
我收到此錯誤消息:
未知系統變數 visit_time
注:
visit_time
有DATETIME
類型。
有兩個問題
問題 #1
visit_time
需要加上前綴NEW.
問題 #2
它必須是
BEFORE UPDATE
,而不是AFTER UPDATE
因為您不能更改AFTER
觸發器中的值。您的程式碼應閱讀
DELIMITER // CREATE TRIGGER myTrigger BEFORE UPDATE ON cityies FOR EACH ROW BEGIN IF NEW.visitors <> OLD.visitors THEN SET NEW.visit_time = now(); END IF; END // DELIMITER ;