玩框架2.0演进并创建触发器

Chr*_*ies 4 playframework-2.0

我一直试图使用Play 2.0.3创建此触发器.如果我手动运行它,它在MySQL中运行得非常好,但是当尝试从Play运行它时它会失败.

delimiter |
    create trigger company_updated before update on company
        for each row begin
            set new.updated = CURRENT_TIMESTAMP;
        end;
    |
delimiter ;
Run Code Online (Sandbox Code Playgroud)

它抛出的错误是这样的:

我们收到以下错误:您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在'delimiter |附近使用正确的语法 在尝试运行此SQL脚本时,在第1行[ERROR:1064,SQLSTATE:42000]的每一行的公司更新之前创建触发器company_updated:

小智 6

这曾经是一个错误,并已在2.1中修复.您可以使用双分号来逃避.它在此处记录:http: //www.playframework.com/documentation/2.1.0/Evolutions

所以你的代码应该改变如下:

create trigger company_updated before update on company
    for each row begin
        set new.updated = CURRENT_TIMESTAMP;;
end;
Run Code Online (Sandbox Code Playgroud)