这里又一个字段名Index,库中有记录100条。现在需要通过语句,让这100条记录的index从1开始递增,即第一条记录的index为1,第二条记录的index为2,…………第100条记录的index为100。请问该怎么做阿,前提是每条记录的index值都不确定。

解决方案 »

  1.   

    alter table [库表] add [index] int identity(1,1)
      

  2.   

    itblog谢谢帮忙。不过我运行后提示 各表中的列名必须唯一在表'AAAA'中多次指定了列名'index',什么原因呀。
    表中没有主键……我刚刚学这个,还不太会。。
      

  3.   

    alter table [库表] add [index] int identity(1,1)一楼的就可以了。
      

  4.   

    alter table [库表] add [index] int identity(1,1) PRIMARY KEY
      

  5.   

    在表'AAAA'中多次指定了列名'index'-------------------
    你是不是在写SQL语句的时候,多次输出了[index]列~仔细检查一下,如果需要,可以另起一个别名~
      

  6.   

    alter table [库表] add [index1] int identity(1,1) PRIMARY KEY
      

  7.   

    回答問題的時候都看清楚題目:“这里又一个字段名Index,库中有记录100条。”
    說明Index這個字段是已經存在的。運行這個:alter table [库表] add [index] int identity(1,1)不出錯才怪。樓主,如果你是想通過添加刪除列來實現你的效果的話。可以這麼寫Alter Table AAAA Drop Column [index]Alter Table AAAA Add [index] Int Identity(1,1)
    不過這和你問題的原意就不是一回事了。
      

  8.   

    呃……还是不行。是我的意图没有表达清楚吧。。我把实际应用需求说出来,前辈再帮我看看。定期会删除表中某条符合条件的记录,删除记录之后,index属性就不是连贯性的从1到100递增了,中间肯定会有断点,我想再删除记录后,重新对index进行从低到高的修改,使其再次从1开始递增,成为连续性的一段数。用update更新的话,要不全都改同一值,要不需要提供条件,可这样不太好判断条件所以卡再这里了。我以前的做法是,设置一个变量,在删除记录时,记录index值(此时全表的index是从1到100连贯的),personnum=publicado!index排序代码:
             rsopen "sa", SaPWD, yuangong(k), hostip, "select * from 数据表名"
             If PublicADO.RecordCount <> 0 Then
                For s = 0 To PublicADO.RecordCount - personnum
                   ExecuteCommand "sa", SaPWD, yuangong(k), hostip, "update 数据表名 set index='" & s + personnum & "' where index='" & personnum + s + 1 & "'"
                PublicADO.MoveNext
              Next s
                PublicADO.Close
              End If
    其中rsopen是我定义的一个函数,同SQL连接后的数据源是publicado这个recordset类型,
        executecommand也是一个函数,提供执行的SQL语句,即可执行所需的请求。在删除一条记录时,可以正确的从第一条记录到最后一条记录进行重新排序。但如果同时间删除多个数据时,排序就不对了比如有6条记录,删除两条后的index值为1,2,4,4……前辈有空的话帮我想想怎么解决,我也在努力中……
      

  9.   

    Alter Table AAAA Drop Column [index]Alter Table AAAA Add [index] Int Identity(1,1)
    刪除重建也不行嗎??
    如果表中有主鍵,可以用Update語句來做。
      

  10.   

    主键我设置index了,用update如何做呢~~  >_<删除重建也不行,还是说不能设置多个标识列
      

  11.   

    设置一个数据窗口,让index列=getrow(),再update
      

  12.   

    试成功了。。先删除列,后创建列。。不过列跑最后面了,能在第一个列位置创建该index么?
      

  13.   

    jason8373(何望) ( ) 信誉:100  2006-05-24 09:31:00  得分: 0  
     
     
       主键我设置index了,用update如何做呢~~  >_<删除重建也不行,还是说不能设置多个标识列
      
     
    ----------------------------------------------------
    你的主鍵是index?????但是“比如有6条记录,删除两条后的index值为1,2,4,4”,如果是主鍵,就不可能有這種情況啊。修改列的位置,語句就比較麻煩。你可以去企業管理器中修改,那樣更簡單些。