mysql暂时调整值。这可能吗?

时间:2011-10-08 02:59:43

标签: mysql

我的网站上有一个模块,它根据受欢迎程度列出产品,并且定期更改列表。我想自动打折排名前三的热门产品,这可以通过将折扣列更改为5来完成,第3个产品10为第2个,15个为顶部。但是,由于列表会定期更改,我需要将此折扣ID恢复为使用新折扣ID覆盖之前的任何内容。

我是否必须创建另一个列并将其称为old_discount,并在更改新列之前将旧折扣转移到该列,然后在不再位于前3位时将其复制回来?

我希望有人能够更轻松地完成这项任务,任何帮助都会受到赞赏。谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

可能无法绕过添加一些东西来管理前三个折扣。就实际实施而言,有几种方法可以让你想到这一点:

  1. 创建一个表只是为了存储前3个产品的当前列表(或者是一个包含三个前三个字段的单行表)。自动检查时,使用前3个刷新此表。然后在计算价格的代码中,首先引用此表以查看在进行剩余计算之前打折的内容。
  2. 如果您要在表格中添加一列,我会添加一个temp_discount而不是old_discount,这样您就可以随时保留原文。然后你的代码应检查是否设置了temp_discount,使用它,否则使用普通折扣列。然后,您只需将temp_discount设置为0,然后在每次要刷新时设置下一个前3个产品。