社区
数据库相关
帖子详情
自增字段作为主键的问题
shijies
2009-05-26 02:40:16
如果选取一个自增字段作为主键,在删除一个记录后,数据表的主键编号是否重新排序?例如原来一个表中有6条记录,若删除表中的第3条记录,原来的第六条记录现在算第5条还是第6条?
...全文
178
14
打赏
收藏
自增字段作为主键的问题
如果选取一个自增字段作为主键,在删除一个记录后,数据表的主键编号是否重新排序?例如原来一个表中有6条记录,若删除表中的第3条记录,原来的第六条记录现在算第5条还是第6条?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yshuui
2009-05-30
打赏
举报
回复
试试不就行了吗
haitao
2009-05-29
打赏
举报
回复
也可以,这样最简单——如果记录集可以全部加载到内存的话
shijies
2009-05-29
打赏
举报
回复
在调入内存的数据集中改?
datafansbj
2009-05-29
打赏
举报
回复
如果此字段不作为其他表的关联字段,可以重排的,否则不可以,因为逻辑连接关系被打断了(除非其他相关的表同时更新)
如果必须要求此字段连续,不要定义成自增类型的,自己在增加记录时算出来插进去,不过这样一来数据只能插入、更新,不能删除了(因为删除记录的时候还是要更新其他记录该字段的值的)
haitao
2009-05-28
打赏
举报
回复
如果只是希望有一个连续不缺的序号列,可以输出时动态生成这个列的
捧剑者
2009-05-28
打赏
举报
回复
貌似没有必要改。
lhy
2009-05-26
打赏
举报
回复
一般自增字段的主键都是作很重要的外键,不能改。
madyak
2009-05-26
打赏
举报
回复
没有必要重新排列,相信经常做项目的人,没有人会在这方面下功夫。
Harryfin
2009-05-26
打赏
举报
回复
重排才不好,你想N个业务表都关联这个主键了,一重排,后果是……?
shijies
2009-05-26
打赏
举报
回复
能让它重新排一遍吗?
阿三
2009-05-26
打赏
举报
回复
始终会向下排,你删除了,中间就会有断号
lishan200012
2009-05-26
打赏
举报
回复
不会的
它还是按6,7,8……自动递增的方式下去
lhy
2009-05-26
打赏
举报
回复
是第五条,不过主键还是6
Harryfin
2009-05-26
打赏
举报
回复
不会重排,继续下去
JPA
主
键
策略(针对数据库自
增
字段
重置后无效检查项)
JPA
主
键
策略(针对数据库自
增
字段
重置后无效检查项) JPA
主
键
生成策略会影响数据库自
增
字段
的重置
为什么一般用自
增
列作为
主
键
?
为什么一般用自
增
列作为
主
键
? 为什么一般用自
增
列作为
主
键
? 如果表使用自
增
主
键
,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的页 如果使用非自
增
主
键
(如果身份证号或学号等),由于每次插入
主
键
的值近似于随机,因此每次新记录都要被插到现有索引页的中间某个位置,此时MySQL不得不为了将新记录插到合适位置而移动数据,这
增
加了很多开销,同时会
增
加大量的碎片 1.从业务上来说 在设计数据库时不需要费尽心思去考虑设置哪个
字段
为
主
键
。然后是这些
字段
只是理
为什么要使用自
增
ID作为
主
键
为什么要使用自
增
ID作为
主
键
1.从业务上来说 在设计数据库时不需要费尽心思去考虑设置哪个
字段
为
主
键
。然后是这些
字段
只是理论上是唯一的,例如使用图书编号为
主
键
,这个图书编号只是理论上来说是唯一的,但实践中可能会出现重复的情况。所以还是设置一个与业务无关的自
增
ID作为
主
键
,然后
增
加一个图书编号的唯一性约束。 2.从技术上来说 如果表使用自
增
主
键
,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的页。 总的来说就是可以提高查询和插入的性能。 对InnoDB.
Mysql 为什么用自
增
列作为
主
键
?
主
键
与聚集索引的关系
一、定义
主
键
:
主
键
(PRIMARY KEY)的完整称呼是“
主
键
约束”,是MySQL中使用最为频繁的约束。一般情况下,为了便于 DBMS 更快的查找到表中的记录,都会在表中设置一个
主
键
。在创建数据表时设置
主
键
约束,既可以为表中的一个
字段
设置
主
键
,也可以为表中多个
字段
设置联合
主
键
。但是不论使用哪种方法,在一个表中
主
键
只能有一个。 聚集索引:指索引项的排列顺序方式与表中记录的排列顺序一致的索引。也就是说聚集索引的排列顺序就是数据的物理存储顺序。他会根据聚集索引
键
的顺序来存储表中数据,即对表中的数据按索引..
推荐使用自
增
ID作为
主
键
:原因、实例与实践
在数据库设计中,
主
键
是用于唯一标识表中每一行的列。
主
键
的选择对数据库的性能和数据完整性至关重要。本文将介绍为什么推荐使用自
增
ID作为
主
键
,并提供相关实例和实践建议。
数据库相关
2,498
社区成员
88,446
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章