怎么实现sql中插入数据后获取刚刚插入数据的主键,主键的数据类型是uniqueidentifier各位亲亲们帮帮我啊……
注:主键类型是uniqueidentifier不是自增的

解决方案 »

  1.   

    --先用newid()生成在插入。declare @id uniqueidentifier
    set @id=newid()
    insert into tablename(id) select @id 
    select @id
      

  2.   

    使用IDENTITY来自动生成键值比使用全球唯一标识符方法更具有优势:IDENTITY生成值是可以配置的,并且易于阅读,易于在工作中使用。可以使用更少的数据库页来满足查询请求。与NEWID()方法相比,它在页拆分(与前面相关)方面的担忧可以消除。数据库规模最小化。存在系统函数来获得最后生成的IDENTITY值(比如SCOPE_IDENTITY()等)一些系统函数,比如MIN()和MAX(),不能在唯一标识符字段中使用。所以,没有类似@@IDENTITY、SCOPE_IDENTITY()方法去取值的
      

  3.   

    GUID数据类型的话,可以先定义。再插入。
    或者插入时候获取刚才插入的数据类,读取guid
      

  4.   

    #1. 用newid()生成UNIQUEIDENTIFIER, 再插入. 1楼的方案.
    #2. 增加一个id列, 类型为:BIGINT NOT NULL IDENTITY(1, 1), 用SCOPE_IDENTITY()获取最新的id和UNIQUEIDENTIFIER.