MySQL触发器问题

时间:2011-08-16 16:08:14

标签: mysql triggers

我有一个名为books的mysql表,其中有一个“votes”列,另一个名为series的表有一个“total_votes”列。投票列跟踪单个图书的投票,而total_votes列是系列中所有图书的所有投票的列表。

在管理部分,管理员可以手动更改单个图书的投票数。我想创建一个mysql触发器,以便每当更改投票时,旧投票值和新投票值之间的差异将反映在total_votes列中。例如,如果A书有10票而系列1总票数为100票,那么当我将A书的投票数改为5时,我希望Seris 1的total_vote数为95.

我理解如何制作基本触发器,但我不确定如何使用新旧投票值之间的差异更新Series表。

TIA。

1 个答案:

答案 0 :(得分:1)

不要担心差异,只需根据新的总和进行更新。例如:

(不确定这是否是确切的MySql语法)

update series
set total_votes = sum(select votes from books b where b.seriesid = seriesid)