TOP和ORDER BY sql错误

mar*_*are 27 mysql sql

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

SELECT TOP 1 id FROM `table` ORDER BY id DESC
Run Code Online (Sandbox Code Playgroud)

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

Joh*_*Woo 52

你有一个无效的SQL语法.使用LIMIT代替

试试这个:

SELECT id 
FROM table 
ORDER BY id DESC
LIMIT 1
Run Code Online (Sandbox Code Playgroud)

TOP子句适用于MSSQL服务器.


Zan*_*ien 11

一种更简单,更DBMS不可知的方法是:

SELECT MAX(id) AS id
FROM table
Run Code Online (Sandbox Code Playgroud)

这是唯一的,如果你想刚刚id领域,否则,如果您想选择其它列,它不会返回数据匹配的id领域,你反而会不得不使用:

SELECT id, otherfields, ..., ...
FROM table
WHERE id = (SELECT MAX(id) FROM table)
Run Code Online (Sandbox Code Playgroud)