MySQL не поддерживает триггеры «INSTEAD OF», как Microsoft SQL Server.
Триггер INSERT может либо выполнить вставку, либо прервать работу и ничего не делать.
Вам следуетобрабатывайте ваши условия в коде вашего приложения.
Раймонд Нейланд напоминает мне, что вы также не можете написать триггер, который выполняет INSERT или UPDATE для таблицы, для которой был выполнен триггер.Ну, вы можете создать такой триггер, но он будет выдавать ошибку при запуске.
mysql> create trigger nameoftrigger after insert on a for each row
insert into a values (1);
Query OK, 0 rows affected (0.05 sec)
mysql> insert into a values (2);
ERROR 1442 (HY000): Can't update table 'a' in stored function/trigger because
it is already used by statement which invoked this stored function/trigger.