MySQL:添加排序列

时间:2011-11-27 17:26:51

标签: php mysql

我想在我的桌子上添加一个sort INT UNSIGNED字段,这样我就可以根据他们的订单对这些项目进行排序而不会触及他们的ID。是否有可能给这个列一个像auto_increment那样的值,但不是递增1,而是增加10或20甚至30?巨大的差距使我能够改变他们的秩序。

我可能会以错误的方式思考这个问题,所以请告诉我你的想法。

4 个答案:

答案 0 :(得分:2)

您可以通过更改auto_increment_increment:

来实现
SET @@auto_increment_increment=10;

More information

答案 1 :(得分:2)

事实上,“大空白”绝对没有必要 您可以随时交换2个数字 - 这足以进行用户定义的排序。

最初只需将您的排序字段更新为带有id的相同值,然后将其移动到任何位置。

答案 2 :(得分:1)

有一个问题:通常,对于每个表,只有一个列有auto_increment - 如果你有一个id列也是auto_increment - 这真的有更好的理由成为auto_increment,这个整个想法都不会削减。

其次,它可能没有任何意义,因为没有理由最新插入的行(默认情况下)具有最高的排序顺序。

答案 3 :(得分:1)

除了将自动增量设置为10之外,您还应该考虑将其设置为加速排序的唯一键。