语句
在更新表test后更新修改时间
DELIMITER $ CREATE TRIGGER trigger_test_modify_t AFTER UPDATE ON test FOR EACH ROW BEGIN set NEW.modify_t = DATE_FORMAT(now(),'%Y%m%d%H%i%s'); end $ DELIMITER ;
出错,提示
[SQL] CREATE TRIGGER trigger_test_modify_t AFTER UPDATE ON test FOR EACH ROW BEGIN set NEW.modify_t = DATE_FORMAT(now(),'%Y%m%d%H%i%s'); end ; [Err] 1362 - Updating of NEW row is not allowed in after trigger
解决
AFTER 该为 BEFORE
before与after区别:
before:(insert、update)可以对new进行修改,
after不能对new进行修改,两者都不能修改old数据。