Anda tidak dapat memperbarui baris dalam tabel dalam setelah pemicu pembaruan.
Mungkin Anda menginginkan sesuatu seperti ini:
CREATE TRIGGER `records_integrity` BEFORE UPDATE
ON `records`
FOR EACH ROW
SET NEW.epc=IFNULL(new.earnings/new.clicks, 0);
EDIT:
Di dalam pemicu, Anda memiliki akses ke OLD
dan NEW
. OLD
adalah nilai lama dalam catatan dan NEW
adalah nilai-nilai baru. Dalam sebelum pemicu, NEW
nilai adalah apa yang ditulis ke tabel, sehingga Anda dapat memodifikasinya. Dalam setelah pemicu, NEW
nilai telah ditulis, sehingga tidak dapat diubah. Menurut saya dokumentasi MySQL
menjelaskan ini dengan cukup baik.