Inilah yang dikenal sebagai masalah "Tabel Mutasi". Intinya adalah pemicu baris tidak diizinkan mengakses baris lain dalam tabel yang sama karena tidak ada jaminan bahwa baris akan diperbarui dalam urutan tertentu, antara lain.
Pertama, Anda seharusnya tidak mencoba untuk menyimpan total_pendapatan ketika Anda dapat menghitungnya dengan mudah saat dibutuhkan. Yang mengatakan, saya pikir Anda dapat melakukan apa yang Anda inginkan dengan melakukan sesuatu seperti
CREATE TRIGGER family_income_update
AFTER UPDATE ON family
FOR EACH ROW
BEGIN
UPDATE student
SET total_income = total_income + (NEW.income - OLD.income)
WHERE student.id_student = NEW.id_student;
END;
Idenya adalah untuk memodifikasi student.total_income
relatif terhadap nilai sebelumnya, karena Anda hanya dapat mereferensikan family.income
relatif terhadap nilai sebelumnya.