社区
MySQL
帖子详情
求一个排名管理的数据库设计(mysql)
学无止境-逆流而上
2013-01-06 11:35:16
有一个排名:
1 信息一 上移 下降 删除
2 信息二 上移 下降 删除
3 信息三 上移 下降 删除
4 信息四 上移 下降 删除
有分页,然后还要支持
一个或者多个集体上移到顶部位置
,表怎么设计呢?自增排序字段好像不是很好。
...全文
237
13
打赏
收藏
求一个排名管理的数据库设计(mysql)
有一个排名: 1 信息一 上移 下降 删除 2 信息二 上移 下降 删除 3 信息三 上移 下降 删除 4 信息四 上移 下降 删除 有分页,然后还要支持一个或者多个集体上移到顶部位置,表怎么设计呢?自增排序字段好像不是很好。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ACMAIN_CHM
2013-01-07
打赏
举报
回复
比如在表中 id,title,seq 1 信息一 1 2 信息二 2 3 信息三 3 4 信息四 4 以seq 来排序。 UI加载的时候,直接从表中取记录 order by seq. UI上进行调整,排序(这个在UI中用代码实现,与数据库无关) 在UI中应该得到一个调整后的集合 2 信息二 1 1 信息一 2 4 信息四 3 3 信息三 4 此时,在保存事件中将 seq值 update 到数据库。
WWWWA
2013-01-07
打赏
举报
回复
只有建立1个辅助表,保存顺序,ID唯一 id num 替换NUM,再与工作表通过ID连接
学无止境-逆流而上
2013-01-07
打赏
举报
回复
谢谢以上各位的回答,结贴!
ACMAIN_CHM
2013-01-06
打赏
举报
回复
表的设计很简单,复杂的是在你的UI上实现。 表 (id, title, seqno) 然后你的程序要控制这个 seqno
rucypli
2013-01-06
打赏
举报
回复
在表的上加一个字段 代表当前序列 -1带表删除 用数字代表所在位置
学无止境-逆流而上
2013-01-06
打赏
举报
回复
版主大神,所谓更新到数据库,是不是把这个表的所有排序字段都更新呢?
ACMAIN_CHM
2013-01-06
打赏
举报
回复
不管是几个,先在UI中排好顺序。这样在UI中每个记录自然就可以编号从1,2,3,4.. 然后更新到数据库。
学无止境-逆流而上
2013-01-06
打赏
举报
回复
我明白你意思了,你更新的意思是全部一次性更新吗?如何更新才好,主要是红色字体标注的问题希望能有效解决。
ACMAIN_CHM
2013-01-06
打赏
举报
回复
在UI中排好序,然后更新到数据库中。
学无止境-逆流而上
2013-01-06
打赏
举报
回复
2#的朋友我程序UI应该没问题,但是就是数据库还是要操作的啊,就如我上面所说的。
学无止境-逆流而上
2013-01-06
打赏
举报
回复
这是上移 下移的功能,这个没问题。关键是
一个或者多个上移到最前面
问题的解决。比如:1,2,3,4,5排序,我4,5移到上面,1,2,3就要每个加2,重新变成1,2,3,4,5排序。如果记录数多的话,改动是不是太大了?有没有更好的解决方案或者算法呢?
rucypli
2013-01-06
打赏
举报
回复
不用后面的字段都要变啊 比如序列是1 2 3 4 如果3上移 就只需要修改2和3两条记录 1和4不用变的
学无止境-逆流而上
2013-01-06
打赏
举报
回复
上移,下移这个好实现,关键是 一个或者多个上移到最前面,后面的排序字段都要改变,比如移动2条记录到前面,前面记录排序字段都要减2,还要考虑删除字段,记录缺失(或者像1#说的做逻辑删除吗?)。记录数太多的话,性能不好,这个好像是个算法问题了。
JAVA上百实例源码以及开源项目
java
求
一个
整数的因子 如题。 Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥 Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(key...
学生成绩
管理
系统
数据库
设计
--
MySQL
MySQL
/SQL Server
数据库
设计
(学生成绩
管理
系统)
设计
大纲 1. 项目背景及需
求
分析 1.1 项目背景 1.2 需
求
分析 1.2.1 信息需
求
1.2.2 功能需
求
1.2.3 安全性与完整性需
求
2. 概念结构
设计
2.1 抽象出系统实体 2.2 ...
MySQL
数据库
管理
高级篇(一)
MySQL
是
一个
关系型
数据库
管理
系统,目前属于Oracle旗下产品。
MySQL
是最流行的关系型
数据库
管理
系统之一。
MySQL
所使用的SQL语言是用于访问
数据库
的最常用标准化语言。
MySQL
采用了双授权策略,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源代码这一特点。本课程作为
MySQL
的基础课程,主要讲解以下内容:1.
MySQL
存储过程2.
MySQL
的存储视图3.
MySQL
触发器4.
MySQL
索引本课程,是基于《
mysql
数据
管理
基础篇 》进行的讲解,请仔细查看目录,是否符合自己的需
求
。
MySQL
数据库
面试题总结(2022最新版)
数据库
设计
什么是三大范式?什么是范式和反范式,以及各自优缺点?二、索引索引的几种类型或分类?索引的优缺点?索引
设计
原则?索引的数据结构?Hash 和 B+ 树索引的区别?为何使用 B+ 树而非 B 树做索引?什么是最...
头歌
MySQL
数据库
实训答案 有目录
计算机系统综合实训 头歌
MySQL
数据库
实训平台作业,内容比较全比较多,内容仅供...
数据库
1-
MySQL
数据定义与操作实战
数据库
2-
MySQL
数据
管理
技术实战
数据库
3-
MySQL
数据库
系统
设计
实战
数据库
4-层次、网状、关系模型实战
MySQL
56,677
社区成员
56,708
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章