【发布时间】:2018-01-01 09:21:16
【问题描述】:
我将值插入到具有自动递增主键的 SQL 表中,并且我想获取最后插入的 Pk 值。我该怎么做?
【问题讨论】:
-
您使用的是 SQL Server 还是 MYSQL?
-
在你的 sql 查询中使用 MAX(columnname)...
-
你可以用DESC键点菜,拿第一排
我将值插入到具有自动递增主键的 SQL 表中,并且我想获取最后插入的 Pk 值。我该怎么做?
【问题讨论】:
试试这个
@LastInsertedId=SCOPE_IDENTITY()
你应该在插入查询之后使用它
insert into table(ColumnName)values("name")
@LastInsertedId=SCOPE_IDENTITY()
【讨论】:
如果您想在插入值时获取 PK,您可以使用以下代码:
INSERT INTO table_name (column2,column3,column4)
OUTPUT Inserterd.column1
VALUES (value1,value2,value3)
在上面的代码中column1是你想要得到的自动递增的PK。
【讨论】:
我认为如果您首先在命名的更新日期(日期时间)中添加一列会更容易,然后您可以编写如下查询:
Select top 1 *
From TableName
Order By Updatedate desc
【讨论】:
TOP 1行的时候,一个或多个 more 行可能已被系统的其他用户插入。这是不可靠,因此不推荐!