检索SQL Server表的最后一条记录

kau*_*tha 6 c# sql-server-2005

这是我的问题:我有一个名为的SQL Server数据库emp.它有一个employee表(带userid int列).我需要检索的最后一条记录useridemployee与增量用户ID值+ 1,表目前我做这件事是我的GUI.那么我该如何为它编写一个sql查询呢?

JK.*_*JK. 1

您不应该手动增加 userid 列,而应使用 IDENTITY 列。这将为您自动为每个新行添加 1。

CREATE TABLE Employees (
    UserId INT IDENTITY PRIMARY KEY NOT NULL,
    UserName NVARCHAR(255) NOT NULL,
    // etc add other columns here
)
Run Code Online (Sandbox Code Playgroud)

如果您确实必须选择最高的用户 ID,那么这是一个非常简单的查询:

SELECT MAX(UserId) + 1
FROM Employees
Run Code Online (Sandbox Code Playgroud)

[编辑]

根据您的评论,您应该使用SELECT MAX(UserId) + 1 FROM Employees查询。但请注意,这并不能保证该号码就是 ID。通常,在记录保存到数据库之前,您不会显示 Id 值。