Не можете да актуализирате редове в таблицата в след задействане за актуализиране.
Може би искате нещо подобно:
CREATE TRIGGER `records_integrity` BEFORE UPDATE
ON `records`
FOR EACH ROW
SET NEW.epc=IFNULL(new.earnings/new.clicks, 0);
РЕДАКТИРАНЕ:
Вътре в тригер имате достъп до OLD
и NEW
. OLD
са старите стойности в записа и NEW
са новите ценности. В преди тригера, NEW
стойностите са това, което се записва в таблицата, така че можете да ги променяте. В след тригера, NEW
стойностите вече са записани, така че не могат да бъдат променяни. Мисля, че документацията на MySQL
обяснява това доста добре.