Se si desidera una "uscita anticipata" per una situazione in cui non si sono verificati errori, utilizzare la risposta accettata inviata da @piotrm. Più in genere, tuttavia, verrà eseguito il bailing a causa di una condizione di errore (soprattutto in una procedura SQL).
A partire da MySQL v5.5 è possibile generare un'eccezione. Negare i gestori di eccezioni, ecc. Che otterranno lo stesso risultato, ma in modo più pulito e toccante.
Ecco come:
DECLARE CUSTOM_EXCEPTION CONDITION FOR SQLSTATE '45000';
IF <Some Error Condition> THEN
SIGNAL CUSTOM_EXCEPTION
SET MESSAGE_TEXT = 'Your Custom Error Message';
END IF;
Nota SQLSTATE '45000'equivale a "Condizione di eccezione definita dall'utente non gestita". Per impostazione predefinita, questo produrrà un codice di errore di 1644(che ha lo stesso significato). Nota che puoi lanciare altri codici di condizione o codici di errore se lo desideri (oltre a ulteriori dettagli per la gestione delle eccezioni).
Per ulteriori informazioni su questo argomento, controlla:
https://dev.mysql.com/doc/refman/5.5/en/signal.html
Come generare un errore all'interno di una funzione MySQL
http://www.databasejournal.com/features/mysql/mysql-error-handling-using-the-signal-and-resignal-statements.html
appendice
Mentre rileggo questo mio post, mi sono reso conto di avere qualcosa in più da aggiungere. Prima di MySQL v5.5, c'era un modo per emulare il lancio di un'eccezione. Non è esattamente la stessa cosa, ma questo era l'analogo: creare un errore chiamando una procedura che non esiste. Chiamare la procedura con un nome che sia significativo al fine di ottenere un mezzo utile per determinare quale fosse il problema. Quando si verifica l'errore, vedrai la linea di errore (a seconda del contesto di esecuzione).
Per esempio:
CALL AttemptedToInsertSomethingInvalid;
Si noti che quando si crea una procedura, non esiste alcuna convalida eseguita su tali elementi. Quindi, mentre in qualcosa come un linguaggio compilato, non potresti mai chiamare una funzione che non c'era, in uno script come questo fallirà semplicemente in fase di esecuzione, che è esattamente ciò che si desidera in questo caso!
IF tablename IS NOT NULL THEN...;)