Я хочу, чтобы колонка epc
всегда была earnings
/clicks
. Я использую триггер AFTER UPDATE для выполнения этого. Поэтому, если бы я добавил 100 кликов к этой таблице, я бы хотел, чтобы EPC обновлялся автоматически.UPDATE Same Row после UPDATE в триггере
Я пытаюсь это:
CREATE TRIGGER `records_integrity` AFTER UPDATE ON `records` FOR EACH ROW SET
NEW.epc=IFNULL(earnings/clicks,0);
И получаю эту ошибку:
MySQL said: #1362 - Updating of NEW row is not allowed in after trigger
Я попытался использовать OLD, а, но и получил ошибку. Я мог бы сделать ПЕРЕД, но если бы я добавил 100 кликов, он использовал бы предыдущие # щелчка для триггера (правильно?)
Что мне делать, чтобы это сделать?
EDIT - Пример запроса, который будет работать на этом:
UPDATE records SET clicks=clicks+100
//EPC should update automatically
Не является ли ваш новый ПОСЛЕ обновления? – hellohellosharp
@hellohellosharp. , , Так или иначе, когда я посмотрел на код. ;) –
Спасибо за обновление - ваш ответ, похоже, работает. Я запутался, хотя ... не будет ли обновление для BEFORE использовать неправильные значения для кликов и прибыли? – hellohellosharp