首页  >  文章  >  后端开发  >  关于数据库一个字段的排序问题,如何实现不重复的排序

关于数据库一个字段的排序问题,如何实现不重复的排序

WBOY
WBOY原创
2016-06-06 20:37:351168浏览

假设数据库中有1-10的排序,现在我要插入一个1的排序,那这个字段的数据为:1,1,2,3,4,5,6,7,8,9,10,如何在插入的时候将重复的值自动+1,保证字段数据唯一并且有序的排序,最后结果为:1,2,3,4,5,6,7,8,9,10,11;

补充一下:数据有可能是这样的:1,2,2,3,4,5,5,5,6,6,8,9,9,99;当我插入个1,或者是2的时候,数据就会自动有序排序并且保证唯一不重复,假设插入2,排序结果为:1,2,3,4,5,6,7,8,9,10,11,12,13,14,99

回复内容:

假设数据库中有1-10的排序,现在我要插入一个1的排序,那这个字段的数据为:1,1,2,3,4,5,6,7,8,9,10,如何在插入的时候将重复的值自动+1,保证字段数据唯一并且有序的排序,最后结果为:1,2,3,4,5,6,7,8,9,10,11;

补充一下:数据有可能是这样的:1,2,2,3,4,5,5,5,6,6,8,9,9,99;当我插入个1,或者是2的时候,数据就会自动有序排序并且保证唯一不重复,假设插入2,排序结果为:1,2,3,4,5,6,7,8,9,10,11,12,13,14,99

看错题了, 应该自己判断是否重复再update吧。

<code>sql</code><code>UPDATE test SET sort=sort+1 WHERE sort>1;
</code>

其实你要实现这个排序功能,不一定要sort字段唯一。
你再加一个字段:modify_time,记录修改时间。

然后你排序依靠sort和modify_time就OK了:

<code>sql</code><code>ORDER BY sort DESC, modify_time DESC
</code>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn