сохраненный триггер триггера mysql уже используется оператором, который вызвал сохраненный триггер

Я хочу настроить триггер так, чтобы, если на обновлении поле прогноза = 3 затем, триггер изменил значение на 4 и сохранил его в базе данных. Триггер ниже.

По некоторым причинам я продолжаю получать ошибку при высказывании:

#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.

Это настраивается правильный путь?

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 ;
11
задан Eric Leschinski 8 March 2013 в 18:31
поделиться

1 ответ

Триггеры MySQL не могут управлять таблицей, которой они назначены. Все другие основные СУБД поддерживают эту функцию, поэтому мы надеемся, что MySQL скоро добавит эту поддержку.

http://forums.mysql.com/read.php?99,122354,240978#msg-240978

41
ответ дан 3 December 2019 в 01:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: