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

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

WBOY
WBOYOriginal
2016-06-06 20:37:351080browse

假设数据库中有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吧。

sqlUPDATE test SET sort=sort+1 WHERE sort>1;

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

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

sqlORDER BY sort DESC, modify_time DESC
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn