Het symptoom is dat u een UPDATE
. uitvoert (voor alle rijen) in een INSERT
trigger - beide wijzigen de tabel, wat niet is toegestaan.
Dat gezegd hebbende, als ik de bedoeling van je trigger correct vermoed, wil je niet alles bijwerken rijen, maar alleen de nieuw ingevoegde rij. U kunt dat gemakkelijk bereiken met
CREATE TRIGGER sum
BEFORE INSERT
ON news
FOR EACH ROW
SET NEW.sum = (NEW.int_views + NEW.ext_views)/NEW.pageviews
Let op:dit is een BEFORE INSERT
trigger, omdat u de rij wilt wijzigen voordat deze naar de tabel wordt geschreven.