大侠们好,在表的Id字段中设置了自动增量,自动加1,但是我在删除了一条记录后怎么增量没有减下啊 
举个例子啊,现在有三条记录,id的值目前就为3,在插入一跳记录的时候id就为4,但是我现在删除了第三条记录,在插入一条记录,id却为4,杂子能改为3啊?求教啊

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【qunqun886】截止到2008-08-02 16:36:25的历史汇总数据(不包括此帖):
    发帖的总数量:13                       发帖的总分数:230                      每贴平均分数:17                       
    回帖的总数量:7                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:9                        结贴的总分数:160                      
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:4                        未结的总分数:70                       
    结贴的百分比:69.23 %               结分的百分比:69.57 %                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    楼主加油

    取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=qunqun886
      

  2.   

    好象不能這樣吧,也沒有必要啊,按Table設計的原則,主鍵應該是一個沒有實際意義的值,所以它是3還是4沒有什么區別啊。
      

  3.   

    以前用的Oracle中一个也不会减..让它吧.那个数值最大值你进数据库看下好大好大...满不了一般.
      

  4.   

    不能该 除非你吧identity设置为on,然后就可以在输入id号了e!
    没别的办法吧
      

  5.   

    主键自动增长1生成规则不是就是你的数据库表的主键的最大值加一
    看你用的是什么样的数据库,象Oracel,这就是用Sequence实现的,数据库里会有地方存放你获得下个主键的主键值。
    数据库会从那个地方来取主键值,而跟你表的主键的值无关
      

  6.   

    你可以在代码端设置id,但是在数据库端只能设置为int
    其实没有必要
      

  7.   

    很简单,使用数据库(如MySQL)可视化管理工具,将其改成3.然后重启一下电脑再插入一条记录,就是从4开始的了。
      

  8.   

    可以的,oracle不知道。在sql server 2005 中是可以,你可以把种子重新生成下,就可以了。
      

  9.   

    在sql2005中是可以改,准确的说,在sql2005中会有一个虚拟主键值(自动增长)
    在sql2000是不可以改的,就算你把所有数据都删除,也不能改.只有重建表.
    如果重建表的话,提供一个简单方法
    select * into 新表 from 旧表 where 1<>1
      

  10.   

    如果需要连续的资料,自己程序控制一个栏位的资料,名字可以是idsn,用于记录自己需要记录的连续ID