Řádky v tabulce nelze aktualizovat po aktualizace spouštěče.
Možná chcete něco takového:
CREATE TRIGGER `records_integrity` BEFORE UPDATE
ON `records`
FOR EACH ROW
SET NEW.epc=IFNULL(new.earnings/new.clicks, 0);
EDIT:
Uvnitř spouštěče máte přístup k OLD a NEW . OLD jsou staré hodnoty v záznamu a NEW jsou nové hodnoty. V před spouštěč, NEW hodnoty jsou to, co se zapisuje do tabulky, takže je můžete upravit. V po spouštěč, NEW hodnoty již byly zapsány, takže je nelze upravovat. Myslím, že dokumentace MySQL
vysvětluje to docela dobře.