如何选择输入到db表的列的最后一个值

时间:2010-08-30 04:30:14

标签: c#

某人plz给我查询以选择输入到sql数据库表的列中的最后一个值....

2 个答案:

答案 0 :(得分:1)

通常在将行插入表后,您希望立即检索并存储最后一个插入ID

然后只需执行select * where id=<the last insert id>

MySQL documentation on last insert id

但是,如果您需要为之前某个时间点插入的行检索最后一个插入行(并且 last_insert_id 不可用),则有两个主要选项:

  • 如果存在唯一的自动递增ID字段,请选择ID最高的行
  • 在表格中有一个date/timetimestamp字段,可以准确记录插入行的时间。然后只需选择具有最新日期/时间值的行。

答案 1 :(得分:-1)

首先应该有一个机制来识别插入哪一行,或者至少在某一行之后插入哪一行。您最好的选择是拥有自动递增字段或时间戳。

一旦弄明白,这实际上是一个简单的过程

您尚未指定数据库,因此假设它是SQL Server,

自动递增id

SELECT TOP 1 *ColumnYouWant* FROM *TableYouWant* [Where Clauses If You Want] ORDER BY *AutoIncrementingField* DESC

时间戳

SELECT TOP 1 *ColumnYouWant* FROM *TableYouWant* [Where Clauses If You Want] ORDER BY *TimeStampField* DESC

对于MySQL

SELECT *ColumnYouWant* FROM *TableYouWant* [Where Clauses If You Want] ORDER BY *AutoIncrementingField* DESC LIMIT 0,1

如果我错了,请纠正我:)