Řá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.