delphi sqlserver 序号问题
序号不用自增列一个序号的字段如果比如说序号为3的被删除了然后下次添加数据序号仍然为3。这个功能怎么做如果数据库中添加的数据的名称的值存在则序号为之前存在名称的那个序号...
序号不用自增列
一个序号的字段 如果 比如说 序号为3的被删除了 然后下次添加数据 序号仍然为3。这个功能怎么做
如果 数据库中添加的数据 的 名称的值存在 则序号为 之前存在名称的那个序号 展开
一个序号的字段 如果 比如说 序号为3的被删除了 然后下次添加数据 序号仍然为3。这个功能怎么做
如果 数据库中添加的数据 的 名称的值存在 则序号为 之前存在名称的那个序号 展开
3个回答
展开全部
一种方式就是huyahuya09说的直接从表里按序取可用的,但是如果这么做当数据量大时可能效率会比较低,建议增加一个废号表,废号表可以同时存储名称和序号,新增数据时首先检查废号表是否有记录,有则使用,否则取原表序号最大号+1;这样应该同时也能解决问题补充的要求了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
序号连续没有任何意义,唯一才有意义。
如果你铁了心要保持连续,(纯碎是形式)可以这样做:
Select Id from table order by id
把所有id读取到本地后,通过程序判断:
因为查询是,id是排序的,所以只需要看下一个id是否等于上一个id+1,如果不等于,返回这个id,你就知道应该设置新插入的id是什么了。
这样做有意义吗?
如果你铁了心要保持连续,(纯碎是形式)可以这样做:
Select Id from table order by id
把所有id读取到本地后,通过程序判断:
因为查询是,id是排序的,所以只需要看下一个id是否等于上一个id+1,如果不等于,返回这个id,你就知道应该设置新插入的id是什么了。
这样做有意义吗?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
赞同2楼。废号表的方法可行。。不会导致程序负载过大。效果应该是良好的。
建议写个触发器,删除后自动向‘废号表’插入ID。保持连续
有更好方案的。。可以赐教。。
建议写个触发器,删除后自动向‘废号表’插入ID。保持连续
有更好方案的。。可以赐教。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询