Le symptôme c'est-à-dire que vous exécutez une UPDATE
(pour toutes les lignes) dans un INSERT
déclencheur - les deux modifient la table, ce qui n'est pas autorisé.
Cela dit, si je devine correctement l'intention de votre déclencheur, vous ne voulez pas mettre à jour tout lignes, mais uniquement la ligne nouvellement insérée. Vous pouvez y parvenir facilement avec
CREATE TRIGGER sum
BEFORE INSERT
ON news
FOR EACH ROW
SET NEW.sum = (NEW.int_views + NEW.ext_views)/NEW.pageviews
N'oubliez pas qu'il s'agit d'un BEFORE INSERT
déclencheur, car vous souhaitez modifier la ligne avant qu'elle ne soit écrite dans la table.