我一直试图使用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)