热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

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

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

推荐阅读
author-avatar
cws401_712
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有