Secondo lo standard MySQL, il modo corretto per gestirlo sarebbe il comando SIGNAL per restituire un errore al client. poiché questo è un trigger PRIMA, un errore nel trigger impedirà a mysql di andare avanti e inserire la riga.
Tuttavia, mysql non supporta ancora SIGNAL, quindi dobbiamo trovare un modo per causare un errore arbitrario.
Un modo per farlo è CHIAMARE una procedura inesistente, come dimostrato qui .
Un'idea migliore sarebbe rimuovere i diritti INSERT da questa tabella e utilizzare invece una procedura memorizzata per gestire l'inserimento per te.