-3

请帮我找出错误,让我在这件愚蠢的事情上失去理智....

CREATE TRIGGER ControlVoto
BEFORE INSERT ON havotato
FOR EACH ROW
BEGIN
IF (NEW.voto<0)
then insert into Errori(id_errore) values(1)
end IF;
end
4

2 回答 2

0

你必须在你的表达中使用 :NEW

CREATE TRIGGER ControlVoto
BEFORE INSERT ON havotato
FOR EACH ROW
BEGIN
IF (:NEW.voto<0)
then insert into Errori(id_errore) values(1)
end IF;
end
于 2013-06-05T13:25:24.903 回答
0

你错过了一个;和使用需要在 MySQL 中设置一个分隔符,我假设你正在使用

delimiter |
CREATE TRIGGER ControlVoto BEFORE INSERT ON havotato
FOR EACH ROW
BEGIN
   IF (NEW.voto < 0) then 
      insert into Errori(id_errore) values(1);
   end IF;
end
|
delimiter ;

如果您没有设置另一个分隔符;,则语句将在第一个结束;,您的触发器定义将不完整。你需要告诉MySQL语句应该在你定义的分隔符处结束。之后,您可以使用delimiter ;

于 2013-06-05T13:26:03.360 回答