0

我正在尝试编写从表中选择最后一个附加值的 mysql 语句。由于我表中的 id 列是一个自动递增值,我发现最简单的方法是选择具有最高 ID 值的行。

我想知道是否有人可以帮助我完成此任务?

像这样的东西:

mysql_query("SELECT * FROM table WHERE id=max(id)"

4

3 回答 3

2

MAX 是一个聚合/分组函数,你不能像这样使用

尝试这个

SELECT * 
FROM blog 
ORDER BY id DESC LIMIT 1;

或者

SELECT * 
FROM blog 
where id=LAST_INSERT_ID();

或者

SELECT *
FROM blog 
WHERE (id = (SELECT MAX(id) FROM blog LIMIT 1))
于 2012-07-21T15:23:40.650 回答
1

您可以使用 LAST_INSERT_ID()查找最后插入的 id。因此,您的查询可以是这样的:

SELECT * 
FROM blog 
where id=LAST_INSERT_ID();

要处理您的查询,您必须这样做:

SELECT *
FROM blog
WHERE id=(
    SELECT max(id) FROM blog
    )
于 2012-07-21T15:24:41.993 回答
0

查询执行后写入:

$id = mysql_insert_id(); 

获取最后插入记录的 id。

于 2012-07-21T15:32:08.043 回答