Non puoi aggiornare le righe della tabella in un dopo attivazione dell'aggiornamento.
Forse vuoi qualcosa del genere:
CREATE TRIGGER `records_integrity` BEFORE UPDATE
ON `records`
FOR EACH ROW
SET NEW.epc=IFNULL(new.earnings/new.clicks, 0);
MODIFICA:
All'interno di un attivatore, hai accesso a OLD
e NEW
. OLD
sono i vecchi valori nel record e NEW
sono i nuovi valori. In un prima trigger, il NEW
i valori sono ciò che viene scritto nella tabella, quindi puoi modificarli. In un dopo trigger, il NEW
i valori sono già stati scritti, quindi non possono essere modificati. Penso che la documentazione MySQL
lo spiega abbastanza bene.