16

我基本上是在尝试制作一个“目标”栏。目标是通过获取我在 MySQL 表中创建的最后一个条目来确定的。因此,我想获取最后一个条目的 ID。

如何获取表中的最后一个条目,然后从最后一个条目中获取 id?

(使用 PHP)

4

7 回答 7

49

要获得最大的 id:

SELECT MAX(id) FROM mytable

然后获取行:

SELECT * FROM mytable WHERE id = ???

或者,您可以在一个查询中完成所有操作:

SELECT * FROM mytable ORDER BY id DESC LIMIT 1
于 2012-05-08T17:12:44.227 回答
7

你可以使用LAST_INSERT_ID()功能。例子:

$sql = "SELECT * FROM mytable WHERE id = LAST_INSERT_ID()";
于 2012-05-08T17:16:32.040 回答
6

你可以使用这个查询来获得你想要的结果,这个 sql 查询在这个例子中使用:

$sql = "SELECT user_id FROM my_users_table ORDER BY user_id DESC LIMIT 0,1";
于 2012-05-08T17:13:06.783 回答
2

如果该字段是自动递增的,那么您可以使用 LAST_INSERT_ID

于 2012-05-08T17:12:39.700 回答
2

要可靠地执行此操作,您必须在表中包含一些可以检查以确定哪个是最后一个的字段。这可能是您添加记录时的时间戳、不断增加的序列号(尤其是自动递增的序列号)等。

然后,假设它是一个名为“rec_seq”的序列号。你会写这样的东西:

select * from my_table
where rec_seq=(select max(rec_seq) from my_table)
于 2012-05-08T17:13:47.750 回答
2

以相反的顺序从表中选择所有字段并设置限制 0,1 这将为您提供表字段数据的最后结果

于 2012-05-08T17:16:53.533 回答
2

获取用户的最新条目

'SELECT user_id FROM table_name WHERE user_id = '.$userid.' ORDER BY user_id DESC LIMIT 1';
于 2014-08-29T06:42:32.150 回答