wyzwalacz zapisany w wyzwalaczu mysql jest już używany przez instrukcję, która wywołała zapisany wyzwalacz

Chcę skonfigurować wyzwalacz, aby w przypadku aktualizacji pole przewidywania = 3, a następnie wyzwalacz zmienia wartość na 4 i zapisuje ją w bazie danych. Wyzwalacz znajduje się poniżej.

Z jakiegoś powodu wciąż pojawia się błąd mówiący:

#1442 - Can't update table 'tzanalytic\_forecast\_cached' in stored 
function/trigger because it is already used by statement which invoked 
this stored function/trigger.

Czy to jest właściwy sposób?

delimiter $ 
CREATE TRIGGER no_BoW BEFORE UPDATE ON t FOR EACH ROW 
BEGIN set @prediction = new.prediction; 
UPDATE t SET t.prediction = (SELECT IF(@prediction = '3', '4', @prediction)) WHERE t.event_id = new.event_id AND t.price_tier = new.price_tier; END;
$ delimiter ;

questionAnswers(2)

yourAnswerToTheQuestion