Sql Server 2005中,已经存在多条记录现在要生成一个ID,这个ID不存在在数据库中,然后进行相关操作后插入数据库。应该怎么做?

解决方案 »

  1.   

      Max(id)+1   OK?   
      

  2.   

    用sql获取  表里的最大ID  在加1也可以 把字段换成 GUID 类型  GUID是独一无二的
      

  3.   

    全球唯一标示GUID  和int是一样的用法 唯一不同的是 数据库默认要newid() 程序中要GUID guid  = GUid.newguid().你可以估个 百度一下这个GUID
      

  4.   

    读取最大值select max() 也不保险 
      

  5.   

    建议 用 GUID     - -
      

  6.   

    我晕那你就生成一个ID 准备插入数据前把这个ID在数据库中检索一下看有没有select count(*) from table wher id=你生成的
      

  7.   


    先进数据库,然后再得到它的ID。这就OK了,因为是自增字段,所以要先写才能产生ID,
    得到ID后,再操作其它的。如果说,一定要先其它的,然后才写进数据库,不如我建议这样,写一个事务,(先进数据库,再做其它的,)如果,事务有错误,就全部撒消,如果成功,就全部写入
      

  8.   

    随即生成一个ID吧,。。插入数据之前判断下这个ID是否存在
      

  9.   

    ID已经定义了不是很好办么~
    不大明白你的问题,我觉得检索一下有没有这个id在数据库就可以做了~~~
      

  10.   


    declare new_id int
    select new_id = (select max(id)+1  from table)
      

  11.   

    GUID是最好的
    然后就是你自己写算法