数据库ID问题,虚心求教!

chensy2012 2010-04-01 02:03:06
要怎么样做这样一个“ID”呢?在新增时按(自增但数据库又不设置成自增)顺序排列(1,2,,3,4....)假如要删除3这个ID 4就填补上3。表ID依然从小到大的顺序排列,。在程序中应该怎么来实现呢?有代码实例最好不过,虚心求教。
(数据库SQL)
...全文
59 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzsh0622 2010-04-01
  • 打赏
  • 举报
回复
我也曾有过楼主这样的想法。如果不怕影响运行效率,完全可以找出这个因删除形成的跳档ID号。

如果只把ID当作标识唯一行的行号,就没必要管它是不是连续,怕不够用的可以用BigInt,相当大了,效率优先。

可以把有实际含义的当作主键,如身份证号、设备编号。 自增id仅作修改和删除之用。
dyufei 2010-04-01
  • 打赏
  • 举报
回复
楼上的说法应该正确
mynameis_007 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 peter200694013 的回复:]
假如要删除3这个ID 4就填补上3
//这样做好么?ID是用来唯一标记这条记录的,还有可能有外键关系
[/Quote]

每次新增时计算下总数,总数+1
itliyi 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 peter200694013 的回复:]
假如要删除3这个ID 4就填补上3
//这样做好么?ID是用来唯一标记这条记录的,还有可能有外键关系
[/Quote]
liuyileneal 2010-04-01
  • 打赏
  • 举报
回复
用触发器么?
Wude_S 2010-04-01
  • 打赏
  • 举报
回复
数据库“ID”设成不自增,DataGridView显示数据表,在DataGridView中删除“3”,然后把DataGridView返回给数据库,数据库的“ID”为DataGridView的“ID”列的行号
Peter200694013 2010-04-01
  • 打赏
  • 举报
回复
假如要删除3这个ID 4就填补上3
//这样做好么?ID是用来唯一标记这条记录的,还有可能有外键关系

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧