该
set message_text子句是信号语法的一部分-它们之间不应存在分号(
;)。此外,它使用
=运算符,而不是
:=:
DELIMITER $$CREATE TRIGGER `test_before_insert` BEFORE INSERT ON `Initial_Fees`FOR EACH ROWBEGIN IF ((SELECt Activation from Portfolio WHERe idPortfolio = New.idPortfolio)=false) THEN SIGNAL SQLSTATE '45000' -- Note: no semicolon SET MESSAGE_TEXT = 'Disabled Thing'; -- Note the = operator END IF;END$$ DELIMITER ;



