Dowiedziałem się, że ta funkcja istnieje od wersji MySQL 5.5 i nie działa we wcześniejszych wydaniach.
Wyzwalacz nie wycofuje ani nie zatwierdza. Aby zainicjować cofnięcie, musisz zgłosić wyjątek. W ten sposób twoje polecenie wstawiania/aktualizacji/usuwania zostanie przerwane. Akcja wycofywania lub zatwierdzania musi zostać wywołana wokół polecenia SQL.
Aby zgłosić wyjątek, w wyzwalaczu XXX (np.):
create trigger Trigger_XXX_BeforeInsert before insert on XXX
for each row begin
if [Test]
then
SIGNAL sqlstate '45001' set message_text = "No way ! You cannot do this !";
end if ;
end ;