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

MySQL `BEFORE INSERT TRIGGER` come posso saltare l'inserimento dei dati in condizioni?

Due soluzioni, entrambe generano un errore:

  1. Chiama una procedura memorizzata inesistente - CALL non_existent_proc()
  2. Usa SEGNALE istruzione per generare l'errore (MySQL 5.5).

Esempio 1:

...
IF @found THEN
  CALL non_existent_proc();
END IF;
...

Esempio 2:

...
IF @found THEN
  SIGNAL SQLSTATE '02000' SET MESSAGE_TEXT = 'Wrong data';`
END IF;
...