我有一个表评级(idrating,clientno,spid,rating)和serviceprovider(spid,name,totalrating)。

我想创建一个触发器,使它对spid的所有评级进行平均,然后将其放在totalrating列中。最好的方法是什么?还是不可能触发?

最佳答案

这应该工作:

CREATE TRIGGER `INSERT_TOTAL` AFTER INSERT ON `rating`
FOR EACH ROW INSERT INTO serviceprovider( spid, name, totalrating )
VALUES (

NEW.spid,  'name', (

SELECT AVG( spid )
FROM rating
)
)


随着更新:

CREATE TRIGGER `INSERT_TOTAL` AFTER INSERT ON  `rating`
FOR EACH ROW
UPDATE serviceprovider SET totalrating = ( SELECT AVG( spid ) FROM rating )
WHERE name =  'name'

10-07 17:29