我正在使用MySQL 5.0.32。
我有两个表:UserItemVote
和ItemStat
。UserItemVote
具有:
user_id, item_id, vote(tinyint either 0 for downvote or 1 for upvote)
ItemStat
具有:item_id, total_up_vote, total_down_vote
当用户投票赞成/反对某项(插入UserItemVote表)时,
我想要一个触发器
tai_UserItemVote
来更新total_up_vote
或total_down_vote
中的ItemStat
。到目前为止,我只解决了更新触发器,但没有解决插入触发器。
tai_UserItemVote
插入触发器:// insert to itemstat if row not exist otherwise update itemstat.
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;
最佳答案
INSERT ... ON DUPLICATE KEY UPDATE应该做您所需要的。
关于mysql - 触发帮助功能(MySQL),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/974515/