我试图为WordPress MySQL数据库创建一个触发器,在insert语句发生七天后,将post_状态更改为“inherited”。但是,执行此代码:
DELIMITER $$
CREATE
TRIGGER `changeStatus` BEFORE INSERT
ON `wp_posts`
FOR EACH ROW BEGIN
IF post_type='product' THEN
set NEW.post_status = 'inherited'
WHERE OLD.post_date < DATE_SUB(NOW(), INTERVAL 7 DAY);
END IF;
END$$
DELIMITER ;
结果是“#1064-您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以了解在“WHERE”附近使用的正确语法旧日期
此外,将触发器减少到:
DELIMITER $$
CREATE
TRIGGER `changeStatus` BEFORE INSERT
ON `wp_posts`
FOR EACH ROW BEGIN
IF post_type='product' THEN
set NEW.post_status = 'inherited';
END IF;
END$$
DELIMITER ;
实际上,会创建一个新的触发器,但将值插入wp_posts会导致“-Unknown column'post_type'in'field list'”错误。
罪魁祸首是什么?我对WordPress和MySQL完全陌生,任何帮助都将不胜感激。
提前谢谢!