【问题标题】:How to select last row inserted [duplicate]如何选择插入的最后一行[重复]
【发布时间】:2018-01-01 09:21:16
【问题描述】:

我将值插入到具有自动递增主键的 SQL 表中,并且我想获取最后插入的 Pk 值。我该怎么做?

【问题讨论】:

  • 您使用的是 SQL Server 还是 MYSQL?
  • 在你的 sql 查询中使用 MAX(columnname)...
  • 你可以用DESC键点菜,拿第一排

标签: c# sql


【解决方案1】:

试试这个

@LastInsertedId=SCOPE_IDENTITY()

你应该在插入查询之后使用它

insert into table(ColumnName)values("name")
@LastInsertedId=SCOPE_IDENTITY()

【讨论】:

    【解决方案2】:

    如果您想在插入值时获取 PK,您可以使用以下代码:

    INSERT INTO table_name (column2,column3,column4)
    OUTPUT Inserterd.column1
    VALUES (value1,value2,value3)
    

    在上面的代码中column1是你想要得到的自动递增的PK。

    【讨论】:

      【解决方案3】:

      我认为如果您首先在命名的更新日期(日期时间)中添加一列会更容易,然后您可以编写如下查询:

      Select top 1 * 
      From TableName 
      Order By Updatedate desc
      

      【讨论】:

      • 将在即使只有中等负载并发用户的系统中工作 - 当你的代码到达选择TOP 1行的时候,一个或多个 more 行可能已被系统的其他用户插入。这是不可靠,因此不推荐!
      猜你喜欢
      • 2014-07-02
      • 1970-01-01
      • 1970-01-01
      • 2015-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-27
      相关资源
      最近更新 更多