create trigger tr_af after update on relatorio_notas
for each row
if (new.Nota < 7) then
insert into aluno_af (nome, matricula) values (new.Nota, new.Matricula_estudante)
end if;


我收到语法错误,不知道为什么

最佳答案

您的语法中需要一个BEGINEND块。请参见13.1.11 CREATE TRIGGER Syntax

create trigger tr_af after update on relatorio_notas
for each row
begin               # <-------------------
  if (new.Nota < 7) then
  insert into aluno_af (nome, matricula) values (new.Nota, new.Matricula_estudante);
  end if;
end                 # <-------------------


请注意,您可能需要将分隔符设置为与;不同的值。

MySQL syntax check中查看更多信息,或在Trigger syntax and IF ELSE THEN中查看示例。

10-06 05:05