尝试执行首次触发器,只有在数据是新的时才应将一个表的值插入另一个表。以下是我的代码:
BEGIN
DECLARE email VARCHAR(30);
INSERT INTO data_audit SET data_audit_id = OLD.id;
IF (NEW.email = OLD.email) THEN
email = NULL;
ELSE
email = OLD.email;
END IF;
UPDATE corporate_audit SET email = email WHERE corporate_audit_id = last_insert_id();
END
我收到以下错误:
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'= NULL附近使用正确的语法; 其他 email = OLD.email; 万一; 在第5行更新corporate_audit SET'
当我执行没有任何IF-THEN块的代码并存储OLD.email时,它只是在审计表中插入新ID但不更新字段。 请指导我
答案 0 :(得分:6)
您遗失SET
IF (NEW.email = OLD.email) THEN
SET email = NULL;
ELSE
SET email = OLD.email;
END IF;