sql >> Databáze >  >> RDS >> Mysql

MySQL:Nelze použít SIGNAL v Trigger

set message_text klauzule je součástí syntaxe signálu – neměl by zde být středník (; ) mezi nimi. Navíc používá = operátor, nikoli := :

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. Naučte se provádět analýzu produktu pomocí fulltextového vyhledávání na serveru SQL. Část 2

  2. MySQL a CASE WHEN s rozsahem hodnot

  3. Vraťte seznam událostí spouštění serveru na serveru SQL Server

  4. Vložení databáze php nefunguje podle plánu