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

chensy2012 2010-04-01 02:03:06
要怎么样做这样一个“ID”呢?在新增时按(自增但数据库又不设置成自增)顺序排列(1,2,,3,4....)假如要删除3这个ID 4就填补上3。表ID依然从小到大的顺序排列,。在程序中应该怎么来实现呢?有代码实例最好不过,虚心求教。
(数据库SQL)
...全文
43 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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是用来唯一标记这条记录的,还有可能有外键关系
回复
相关推荐
发帖
C#
创建于2007-09-28

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2010-04-01 02:03
社区公告

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