Sie können Zeilen in der Tabelle nicht in einem after aktualisieren Auslöser aktualisieren.
Vielleicht möchten Sie so etwas:
CREATE TRIGGER `records_integrity` BEFORE UPDATE
ON `records`
FOR EACH ROW
SET NEW.epc=IFNULL(new.earnings/new.clicks, 0);
BEARBEITEN:
Innerhalb eines Triggers haben Sie Zugriff auf OLD
und NEW
. OLD
sind die alten Werte im Datensatz und NEW
sind die neuen Werte. In einem vorher Auslöser, der NEW
Werte werden in die Tabelle geschrieben, sodass Sie sie ändern können. In einem nach Auslöser, der NEW
Werte wurden bereits geschrieben und können daher nicht geändert werden. Ich denke, die MySQL-Dokumentation
erklärt das ziemlich gut.