CREATE TRIGGER `cuentaficheros` AFTER INSERT ON `Ficheros2` FOR EACH ROW
UPDATE Datos as dt, Ficheros2 as f2 SET dt.ficherosasociados=(SELECT count(f2.id_Datos) FROM Ficheros2 as f2 WHERE f2.id_Datos=dt.COD_FINCA group by f2.id_Datos) where dt.COD_FINCA=NEW.id_Datos
yo cambiaria esta actualizacion porque tienen una ambiguedad en los alias f2, ademas que no nesecitas hacer referencia a Fichero2 para contar. UPDATE Datos as dt SET dt.ficherosasociados=(SELECT count(f2.id_Datos) FROM Ficheros2 as f2 WHERE f2.id_Datos=dt.COD_FINCA ) where dt.COD_FINCA=NEW.id_Datos Igualmente el group by está de mas porque ya filtraste solo para ese id y no va a agrupar nada, reduces el tiempo de respuesta. La prueba manual no es lo mismo que está escrito en el trigger.
Lo dicho, a mi no me ha fallado nunca. Pero se que falla porque la gente mete datos en Ficheros2 y luego tengo que pasar una sql a parte para que haga bien el recuento
UPDATE Datos as dt SET dt.ficherosasociados=(SELECT count(f2.id_Datos) FROM Ficheros2 as f2 WHERE f2.id_Datos=dt.COD_FINCA group by f2.id_Datos)
saludos
-- El que pregunta aprende, y el que contesta aprende a responder. No a la obsolecencia programada: http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/... Linux User #495070 http://domonetic.com/blog -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org