Sql 触发器不工作-为什么?
我不知道为什么这不起作用,并抛出一个1064错误Sql 触发器不工作-为什么?,sql,triggers,Sql,Triggers,我不知道为什么这不起作用,并抛出一个1064错误 delimiter $$ CREATE or remplace TRIGGER verifyExist BEFORE INSERT ON entreprise For each row BEGIN IF new.numeroSiret in ( select numeroSiret From entreprise where numeroSi
delimiter $$
CREATE or remplace TRIGGER verifyExist BEFORE INSERT ON entreprise
For each row
BEGIN
IF new.numeroSiret in (
select numeroSiret
From entreprise
where numeroSiret = new.numeroSiret
) THEN
UPDATE entreprise
SET nomEntreprise = new.nomEntreprise, adresse= new.adresse, ville = new.ville, commentaire = new.commentaire, entrepriseCreer = new.entrepriseCreer
WHERE idEntreprise = New.idEntreprise ;
END IF;
END;$$
DELIMITER ;
假设这是一个复制粘贴,您有几个拼写错误的单词,包括命令类型的单词。这当然是假设命令词不会因语言而改变,我不清楚$$CREATE TRIGGER verifyExist在插入到企业中之前是否存在每一行开始如果new.numeroSiret在从企业中选择numeroSiret,其中numeroSiret=new.numeroSiret然后更新企业集nomEntreprise=new.nomEntreprise,adrese=new.adrese,ville=new.ville,commentaire=new.commentaire,enterprisecreter=new.enterprisecreter,其中idEntreprise=new.idEntreprise;如果结束;完;$$定界符;这是可行的,但我在尝试插入新公司enterprise=company时已出现错误 delimiter $$ CREATE TRIGGER verifyExist BEFORE INSERT ON entreprise For each row BEGIN IF new.numeroSiret in ( select numeroSiret From entreprise where numeroSiret = new.numeroSiret ) THEN UPDATE entreprise SET nomEntreprise = new.nomEntreprise, adresse= new.adresse, ville = new.ville, commentaire = new.commentaire, entrepriseCreer = new.entrepriseCreer WHERE idEntreprise = New.idEntreprise ; END IF; END;$$ DELIMITER ;