sql >> Database teknologi >  >> RDS >> Mysql

MySQL:Kan ikke bruge SIGNAL i Trigger

set message_text klausul er en del af signalsyntaksen - der bør ikke være et semikolon (; ) mellem dem. Derudover bruger den en = operator, ikke en := :

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 ; 


  1. Implementer sidesøgning (spring over / tag) funktionalitet med denne forespørgsel

  2. Rådgivning om databasestruktur nødvendig

  3. Mest effektive tilgang til flersproget PHP-websted

  4. SQLite ÆNDRINGSTABEL