这里是代码:
CREATE TRIGGER inserisci_richiesta_noID AFTER INSERT ON Richiesta
FOR EACH ROW
BEGIN
IF (NEW.ID_Cliente == NULL AND (NEW.Email NOT IN (SELECT Email FROM Utente))) THEN
INSERT INTO Utente(ID, Nome, Cognome, Email, Telefono, ID_Livello_accesso)
VALUES (NULL, 'Generato', 'Automaticamnete', NEW.Email, NEW.Telefono, 1);
UPDATE Richiesta
SET ID_Cliente = (SELECT ID FROM Cliente WHERE Email = :NEW.Email);
ELSE NEW.ID_Cliente == NULL AND NEW.Email IN (SELECT Email FROM Utente;) THEN
UPDATE Richiesta
SET ID_Cliente = (SELECT ID FROM Cliente WHERE Email = NEW.Email);
END IF;
END;
它给我这个错误:
1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在'== NULL AND(NEW.Email NOT IN(SELECT Email From Utente))附近使用正确的语法在第4行插入U'
在Richiesta上插入后创建inserisci_richiesta_noID触发器每行开始如果(NEW.ID_Cliente为NULL和(NEW.Email NOT IN(从Utente选择电子邮件)))然后插入Utente(ID,Nome,Cognome,电子邮件,Telefono,ID_Livello_accesso)值(NULL,'Generato','Automaticamnete',NEW.Email,NEW.Telefono,1)更新RichiestaSET ID_Cliente =(从Cliente WHERE电子邮件中选择的ID = NEW.Email);ELSE IF(NEW.ID_Cliente为NULL和NEW.Email IN(从Utente选择电子邮件))然后更新RichiestaSET ID_Cliente =(从Cliente WHERE电子邮件中选择的ID = NEW.Email);万一;END $$