2011-08-16 49 views
0

我有一个叫做书籍的mysql表格,它有一个“票数”列,另一个表格叫做series,它有一个“total_votes”列。选票列跟踪个人书籍的投票,而total_votes列是一系列所有书籍的所有选票的列表。MySQL触发器问题

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

我明白做一个基本的触发器,但我不知道如何更新旧表和新表决值之间的区别。

TIA。

+0

,你能不能给我们的架构(DESC问题的表(一个或多个)的)? – ThinkCode

回答

1

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

(不知道这是确切的MySql语法)

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