2009-06-10 7 views
1

en utilisant mysql 5.0.32.mysql trigger help

J'ai deux tables: 'UserItemVote' et 'ItemStat'.

UserItemVote a:

user_id, item_id, vote(tinyint either 0 for downvote or 1 for upvote) 

ItemStat a:

item_id, total_up_vote, total_down_vote 

lorsque l'utilisateur vote haut/bas un élément (insérer à la table UserItemVote), Je veux avoir un déclencheur tai_UserItemVote mettre à jour soit total_up_vote ou total_down_vote à partir de ItemStat. Jusqu'à présent, j'ai seulement mis au point le déclencheur de mise à jour mais pas le déclencheur d'insertion.

tai_UserItemVote déclencheur d'insertion:

// insert to itemstat if row not exist otherwise update itemstat. 

déclencheur de mise à jour tau_UserItemVote:

UPDATE ItemStat set total_down_vote=total_down_vote+1 
WHERE item_id=NEW.item_id and NEW.vote = 0; 
UPDATE ItemStat set total_up_vote=total_up_vote+1 
WHERE item_id=NEW.item_id and NEW.vote = 1; 

Répondre