set message_text क्लॉज सिग्नल सिंटैक्स का हिस्सा है - इसमें अर्धविराम नहीं होना चाहिए (; ) उनके बीच। इसके अतिरिक्त, यह एक = . का उपयोग करता है ऑपरेटर, न कि := :
DELIMITER $$
CREATE TRIGGER `test_before_insert` BEFORE INSERT ON `Initial_Fees`
FOR EACH ROW
BEGIN
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 ;