2016-09-30 133 views
0

我越来越每次我试图创建一个UPDATE触发器进我的一个表时奇数错误...错误的MySQL创建触发器

的触发:

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; 

和错误:

Error SQL (1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5

任何想法?

回答

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然后分隔符设置为#或别的东西。然后执行它将正常工作我已经用上面的代码对它进行了测试。