投稿 资料上传 提问 搜索
您现在的位置是: 首页 > 问答 > 正文

sql server怎么获取最后一条记录的主键

我需要在添加记录时,获取最后一条记录的主键,用于添加新记录的标识,请问该怎么做???

问题回复
  1. 简讯
    简讯IT技术之家

    参考@一念无悔 的同时,可通过 Select  top 1 主键 from 表名  order by 主键 DESC   拿到最后一条记录主键,然后在新添加数据时,根据规则叠拼接还是怎么滴,根据你自己的需求

    回复
  2. 一念无悔
    一念无悔IT技术之家

    可参考:sql server 获取最后一条插入的记录的主键

    declare @hisId int;
    set @hisId=0;
    INSERT INTO TScoreExchange
    (UserID, Score, [Type], [Time], UserUpperId, UserAreaId, UserLevel, UserOrganizationId)
    VALUES (0, 0, 0, getdate(), 0, 0, 0, 0) SELECT @hisId=IDENT_CURRENT( 'TScoreExchange') ;
    print @hisId;

    IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。
    @@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。
    SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值。
    使用@@IDENTITY ,很容易产生提取错误,因为在高并发访问下,@@IDENTITY 提取的有可能是别的表的@@IDENTITY 值!

    原文链接:https://blog.csdn.net/hejisan/java/article/details/77916672

    回复