错误MySQL创建触发器

时间:2016-09-30 12:25:25

标签: mysql triggers

每次尝试在我的某个表格中创建一个UPDATE触发器时,我都会收到奇怪的错误...

触发器:

CREATE TRIGGER upd_data_nascimento BEFORE UPDATE ON pfi_pessoa_fisica
FOR EACH ROW
  BEGIN
     IF OLD.date_of_birth = '0000-00-00' THEN
     SET NEW.date_of_birth = NULL;
     END IF;
  END;

错误:

  

错误SQL(1064):SQL语法中有错误;查看与您的MySQL服务器版本相对应的手册,以获得在''附近使用的正确语法。在第5行

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

确保使用分隔符

CREATE TRIGGER upd_data_nascimento BEFORE UPDATE ON abc_table
FOR EACH ROW
  BEGIN
     IF OLD.date_of_birth = '0000-00-00' THEN
        SET NEW.date_of_birth = NULL;
     END IF;
  END

如果您在PHPMyAdmin中执行它,则将分隔符设置为#或其他内容。然后执行它将正常工作我用上面的代码测试它。