28

我正在尝试使用 PHP 从 MySQL 中的表中选择最后一条记录。我相信我有一个 SQL 错误。这是我的 SQL 代码:

SELECT TOP 1 id FROM `table` ORDER BY id DESC

如果这是有效的并且我实际上有一个 PHP 错误,请告诉我。

4

3 回答 3

58

您的 sql 语法无效。改用LIMIT _

尝试这个:

SELECT id 
FROM table 
ORDER BY id DESC
LIMIT 1

TOP子句适用于 MSSQL 服务器。

于 2012-06-18T03:24:51.220 回答
12

一种更简单且与 DBMS 无关的方法是:

SELECT MAX(id) AS id
FROM table

仅当您需要该id字段时,否则如果您尝试 SELECT 其他列,它不会将匹配的数据返回到该id字段,您将不得不使用:

SELECT id, otherfields, ..., ...
FROM table
WHERE id = (SELECT MAX(id) FROM table)
于 2012-06-18T03:34:48.220 回答
0

如果您不希望使用限制,这将有效查找最后一条记录

SELECT TOP 1 * FROM Products ORDER BY id desc

如果您不希望使用限制,这将有效查找指定列名的最后一条记录

SELECT TOP 1 id FROM Products ORDER BY id desc

别的

SELECT * FROM Products ORDER BY id DESC LIMIT 1
于 2017-03-17T20:56:20.737 回答