社区
MySQL
帖子详情
mysql删除记录时如何让自动递增的字段重新排序
胡玉洋
领域专家: 后端开发技术领域
2013-12-17 11:46:19
做留言板的时候,登陆成功之后会把数据库里的留言调出来,有个楼层“Floor”的字段值是自动递增的,但是如果删除了某条留言之后,登录时重新调出来的楼层顺序就会少了那一层,可不可以删除后让自动递增的字段重新排序呢?,比如在这里让删除了2楼后让3楼的Floor值变成二楼,以此类推……
没删除前:
数据库:
删除后:
...全文
1409
5
打赏
收藏
mysql删除记录时如何让自动递增的字段重新排序
做留言板的时候,登陆成功之后会把数据库里的留言调出来,有个楼层“Floor”的字段值是自动递增的,但是如果删除了某条留言之后,登录时重新调出来的楼层顺序就会少了那一层,可不可以删除后让自动递增的字段重新排序呢?,比如在这里让删除了2楼后让3楼的Floor值变成二楼,以此类推…… 没删除前: 数据库: 删除后:
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
caonima_cc
2015-12-02
打赏
举报
回复
感谢4楼 给我思路。
ACMAIN_CHM
2013-12-17
打赏
举报
回复
引用 2 楼 huyuyang6688 的回复:
哦……也是个方法,不过如果抛开这个问题,mysql删除记录时如何让自动递增的字段重新排序呢?可以吗?
在程序中实现,当XID被删除后再做一次 update xx set id=id-1 where id>=@xid
iihero
2013-12-17
打赏
举报
回复
引用 2 楼 huyuyang6688 的回复:
哦……也是个方法,不过如果抛开这个问题,mysql删除记录时如何让自动递增的字段重新排序呢?可以吗?
即算能,效率上也是个问题。 不如直接order by ,取序号
胡玉洋
2013-12-17
打赏
举报
回复
哦……也是个方法,不过如果抛开这个问题,mysql删除记录时如何让自动递增的字段重新排序呢?可以吗?
rucypli
2013-12-17
打赏
举报
回复
楼层应该是程序端显示的时候分配的吧
[乐意黎转载]
mysql
删除
记录
时
如何让
自动
递增
的
字段
重新
排序
在程序中实现,当XID被
删除
后再做一次 update xx set id=id-1 where id>=@xid 全文:http://bbs.csdn.net/topics/390671147 转自: http://www.cnblogs.com/devcjq/articles/6020343.html
mysql
主键
重新
排序
,数据
删除
后设置主键数值
重新
排序
我
mysql
数据库中有张操作日志表,创建表
时
设置的主键ID是
自动
递增
的,由于日志数据量较大,项目中又设置了定
时
自动
清空部。为了解决该问题我使用了以下操作,当有数据
删除
后就使主键
重新
排序
,一直保持主键从1开始
排序
递增
。分过期日志数据,这样就造成日志表中主键不是从1开始
记录
的,并且主键
递增
会无限扩大。
数据库在数据
删除
之后,如何id会
自动
更新,从小到大,一一
排序
在
MySQL
数据库中,标准的AUTO_INCREMENT属性并不支持在数据
删除
后
自动
重新
排序
ID以确保ID的连续性或从小到大一一
排序
。AUTO_INCREMENT的主要目的是在每次插入新
记录
时
自动
生成一个唯一的、
递增
的ID值,而这个值是基于当前表中最大的ID值加一来确定的,即使之前的
记录
被
删除
,ID值也不会回退或
重新
排序
。如果你需要在数据
删除
后让ID值
重新
排序
或保持连续性,这通常不是一个推荐的做法,因为它会引入额外的复杂性和性能开销。
mysql
自动
填写id
在使用数据库
时
我们经常要使作为主键的某列
自动
按顺序填写,比较常见的就是id
字段
,可以用一下语句实现id
字段
的
自动
填写: CREATE TABLE students ( id MEDIUMINT NOT NULL AUTO_INCREMENT, //设置id的类型为mediumint,且非空自增1并填写 name CHAR(30) NOT NULL, PRIM
mysql
数据库 按列
重新
排序
存储_
mysql
重置自增ID | 数据库中的id列
重新
开始
排序
(亲测有效)...
开发
时
经常会遇到由于
删除
过sql
记录
而导致主键ID不连续,在
删除
记录
再新增
时
,自增的数值并不会占用你
删除
的值,而是继续在原基础上++。其实自增编号(id)往往被用作标识
记录
的唯一性。无需过于在意它的顺序和值。如果需要有意义的序号值,建议另起一个
字段
,和主键的意义分开配合使用。不过我这人不一样,虽然用不上主键id
重新
排序
,但就是忍不住整理下。这里以一个demo表为例:假设要操作的表名就是demo,期...
MySQL
57,062
社区成员
56,759
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章