我们正与一个WordPress系统上的created_at一个问题。不知怎的,一些用户获得该领域更新的“随机”为无效值,所以它得到的设置为“00000000”的日期时间。我们还没有找到WP代码的原因,我们现在正在分析项目中的少数插件。它有一个庞大的代码和用户群,所以我们认为使用MySQL触发器来捕捉这个“随机”更新可能会更快。如何创建触发器的MySQL 5.6
的事情是我们以某种方式继续击中或触发代码语法错误,并瘸SQLer的,因为我们是,我们需要帮助,试图找出它可能是什么。
我们正在绑做到的是:
- 发现当用户表得到更新
- 检查是否created_at已经修改了行
- 插入旧数据到我们刚刚创建的新表为此目的(user_registration_changed_records)。
我们决定检查每一行,以防万一出现一些奇怪的行为。
DELIMITER $$
CREATE TRIGGER `user_register_updated` BEFORE UPDATE ON `wp_t8y31tcd9u_users`
FOR EACH ROW
BEGIN
IF OLD.created_at != NEW.created_at
INSERT INTO user_registration_change_records (user_id, created_at) VALUES (OLD.ID, OLD.created_at)
END IF;
END;$$
DELIMITER ;
在此先感谢您的任何建议!
语法错误
#1064 - 你有一个错误的SQL语法;检查对应于你的MySQL服务器版本在线路附近使用“INSERT INTO user_registration_change_records(USER_ID,created_at)VALUES(OLD.I”正确的语法手册6
是语法错误保密的吗? – Shadow
对不起@Shadow这只是我觉得晦涩难懂,这里是#1064 - 你在你的SQL语法错误;检查对应于你的MySQL服务器版本在线路附近使用“INTO user_registration_change_records INSERT(USER_ID,created_at)VALUES(OLD.I” 6个 –