有一张数据表table1,里面有两个字段ID和start。ID的值是按start从小到大的顺序进行赋值的,比如哪条记录的start最小,那它的ID就是1,以此推之。在从Web界面向这个数据表插入数据时,新插入的数据默认ID为0.现在期望在插入成功后自动对新插入的数据进行排序,看这条新纪录的start值从小到大排第几位,然后把它的ID改为几。该怎么实现?

解决方案 »

  1.   

    插入以后判断一下新插入的@start_1排行第几 赋值@num,然后更新idselect count(*) from tb where start<@start_1update tb set id=@num where start=@start_1
      

  2.   

    1.给start加个索引
    2.从table1中找出start比你刚添加的start的值大的最小的ID号,设为num
    3.将table1中值不小于num的ID的值都加1
    4.将新纪录插入表中,设其ID为num