tengo el siguiente trigger:MySQL gatillo no puede actualizar la tabla - Se obtiene un error 1442
CREATE TRIGGER sum
AFTER INSERT
ON news
FOR EACH ROW
UPDATE news SET NEW.sum = (NEW.int_views + NEW.ext_views)/NEW.pageviews
Se resume la columna de la int_views
y ext_views
de una mesa y los divide por el total de páginas vistas.
Siempre que intento agregar una nueva fila a la noticia, me sale el siguiente error:
ERROR 1442 (HY000) at line 3: Can't update table 'news' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
El disparador parece bastante simple para mí. ¿Hay alguna razón por la cual el disparador no se ejecuta?
no 'condición WHERE'? – jcho360
@ jcho360, lo siento, no veo dónde incluir una condición de dónde. Quiero que el desencadenador se ejecute en cada fila después de que se inserta. – egidra
si eso no funciona, házmelo saber para probar con 'WHERE news_id = NEW.news_id;' al final – jcho360