MySQL-触发更新排名

时间:2011-05-01 20:06:45

标签: mysql triggers ranking

我正在为一些NFL球队创建一个带有“Team”表的数据库,并且我已经为他们分配了所有排名(站在NFL中),该属性被称为“排名”。

我想创建一个触发器,以便在更新排名时,所有其他排名都会相应更新。

然而,我无法找到一种循环遍历表格的方法。例如,假设等级5的队伍上升到等级3,我如何将等级3变为4,然后将4变为5?

如果您需要更多信息,请随时提出,我会尽快提供。

1 个答案:

答案 0 :(得分:2)

如果您知道要更新的团队的ID(让我们称之为42)以及旧的和新的等级(旧的:5,新的:3),那么这不是太难:

UPDATE Team SET rank=rank+1 WHERE rank BETWEEN 3 AND 5;
UPDATE Team SET rank=3 WHERE id=42;