nella wiki viene detto quanto segue

MySQL handles errors during trigger execution as follows:

* if a BEFORE trigger fails, the operation on the corresponding row is not performed.

* a BEFORE trigger is activated by the attempt to insert or modify the row, regardless of
whether the attempt subsequently succeeds.

è esattamente ciò che mi serve, in che modo il BEFORE fallisce? Fa rifermento alle condizioni (statement) inserite nel trigger o a un errore di esecuzione dello stesso? il secondo punto lascia trasparire la possibilità di rifiutare l'operazione, ma ho il sospetto che si riferisca al "trucco" che ho usato io (un valore null che annulla l'operazione)...