MySQL触发器:IF ELSE错误

尝试执行首次触发器,只有在数据是新的时才应将一个表的值插入另一个表.以下是我的代码:

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但不更新字段.
请指导我

解决方法:

你错过了SET

   IF (NEW.email = OLD.email) THEN
      SET email = NULL;
   ELSE
      SET email = OLD.email;
   END IF;
上一篇:JS组件系列——Bootstrap 树控件使用经验分享


下一篇:inno setup win10 创建菜单里面卸载图标