alter table [库表] add [index1] int identity(1,1) PRIMARY KEY
回答問題的時候都看清楚題目:“这里又一个字段名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) 不過這和你問題的原意就不是一回事了。
呃……还是不行。是我的意图没有表达清楚吧。。我把实际应用需求说出来,前辈再帮我看看。定期会删除表中某条符合条件的记录,删除记录之后,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……前辈有空的话帮我想想怎么解决,我也在努力中……
Alter Table AAAA Drop Column [index]Alter Table AAAA Add [index] Int Identity(1,1) 刪除重建也不行嗎?? 如果表中有主鍵,可以用Update語句來做。
表中没有主键……我刚刚学这个,还不太会。。
你是不是在写SQL语句的时候,多次输出了[index]列~仔细检查一下,如果需要,可以另起一个别名~
說明Index這個字段是已經存在的。運行這個:alter table [库表] add [index] int identity(1,1)不出錯才怪。樓主,如果你是想通過添加刪除列來實現你的效果的話。可以這麼寫Alter Table AAAA Drop Column [index]Alter Table AAAA Add [index] Int Identity(1,1)
不過這和你問題的原意就不是一回事了。
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……前辈有空的话帮我想想怎么解决,我也在努力中……
刪除重建也不行嗎??
如果表中有主鍵,可以用Update語句來做。
主键我设置index了,用update如何做呢~~ >_<删除重建也不行,还是说不能设置多个标识列
----------------------------------------------------
你的主鍵是index?????但是“比如有6条记录,删除两条后的index值为1,2,4,4”,如果是主鍵,就不可能有這種情況啊。修改列的位置,語句就比較麻煩。你可以去企業管理器中修改,那樣更簡單些。