RTRT我的这张表的ID是 uniqueidentifier 类型的
如何获得该表最后插入的 ID

解决方案 »

  1.   

    需要一个唯一的排序字段去找最新的newid
      

  2.   

    uniqueidentifier型的是判断不了的加个自增列吧
      

  3.   


    在賦值時保存ID,GUID是沒有大小的
      

  4.   

    SELECT   IDENT_CURRENT('TB_NAME')--返回指定表中生成的最后一个标示值  
      

  5.   

    給樓主提供一种方法,行版本CREATE TABLE t2(ID UNIQUEIDENTIFIER, TIMESTAMP)
    GODECLARE @ID UNIQUEIDENTIFIER
    SET @ID='39883132-58AB-4CF9-9230-3E23A74120FA'
    INSERT t2(ID) SELECT @IDSET @ID='AA74A410-B95C-4B81-B3D6-B6FE96360F27'
    INSERT t2(ID) SELECT @IDSELECT TOP 1 * FROM t2 ORDER BY TIMESTAMP DESC 
      

  6.   

    只能保证新生成的 uniqueidentifier 值具有唯一性,但不支持任何使其对用户更有意义的模式,即它是随机生成的,没有先后次序的问题,你即使知道了这个值是最新生成的,也没有意义,除非你应用它到外键表中去.
      

  7.   

    也可以每次插入表数据时,加output子句返回新增的ID,create table t1 (ID uniqueidentifier, descr char(5))insert into t1(ID,descr) 
    output inserted.ID
    select newid(),'1'ID
    ------------------------------------
    46AF4FE0-718C-4C58-AA80-38550356E9B3select * from t1ID                                   descr
    ------------------------------------ -----
    46AF4FE0-718C-4C58-AA80-38550356E9B3 1