热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我觉得挺难的?请高手指教--不好意思我的分不多,只能给这么多

我用SQL2000在建如教师表时,主键是教师编号,设置的是自动编号。但是在录入数据时,比如录入了1,2,3条记录,现在删了记录2,又开始录入数据,系统自动默认这条新纪录编号为4。我想设置记录范围比
我用SQL2000在建如教师表时,主键是教师编号,设置的是自动编号。但是在录入数据时,比如录入了1,2,3条记录,现在删了记录2,又开始录入数据,系统自动默认
这条新纪录编号为4。我想设置记录范围比如1000条记录,当录入记录到1000条时,下一条记录为最小的没用的编号。

9 个解决方案

#1


好象只有自己控制吧。

#2


其实,自动编号也不是很好吧,如果编号里面包含一些其他的信息,如是哪个系的等!

#3


试试 
DBCC CHECKIDENT
Checks the current identity value for the specified table and, if needed, corrects the identity value.


#4


分多少没关系!

象教师表这样与别的表关系不大的还好说,id号(主键)可以用自增的。但某些表,比如出货单这样是一个一个出货条目表的父表的。id号用自增的可能就有不妥了。因为你在增加时要为每一个子表加上id号, 而这时还没自增呢

所以我从不用自增的id号, 我所有表的id号都是整数,另外建了一个t_max表。里面存储着所有表的id号现在到哪里了。

在程序中有一个全局函数,gf_get_max('表名')用来取得每个表的最大id号及让其加1.

如你有兴趣,给我写个短信就行。方法也不一定科学

#5


DBCC CHECKIDENT
你查查sqlserver 2000的帮助

#6


查询分析嚣

#7


你可以加一个标志的字段,比如说已删除的标志为1,当1000条记录输入完之后,再添加记录时,你可以查找那些带有标志的选项去修改他,但别忘了修改是一定要把标志1改为其他值

#8


建议你新建另一张表,用来存储自增字段,
然后在其中选择!

#9


冒犯了,其实我觉得yk80(小贝)地回答有点小小漏洞.
c语言中的链表插入删除时,经常设置一整数标志.
但数据库中删除记录时,整个元组均被删除,当全部添加完后,根本无法查找标志为1地记录.
所以应结合使用,既要设标志,又要另建一张表.还望小贝批评指正.

推荐阅读
author-avatar
夫功的美丽家园
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有