Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL:nie można użyć SIGNAL w wyzwalaczu

set message_text klauzula jest częścią składni sygnału - nie powinno być średnika (; ) między nimi. Dodatkowo używa = operator, a nie := :

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Symfony2 - Doctrine2 QueryBuilder GDZIE W polu ManyToMany

  2. Jak wyłączyć logowanie root do MySQL, gdy nie podano hasła?

  3. Używanie PHP DOM do tworzenia plików XML z danych MySQL

  4. Śledzenie połączeń wychodzących

  5. Django migrate :nie tworzy tabel