我正在尝试编写mysql语句,用于从表中选择最后一个添加的值。 由于我的表中的id列是一个自动递增值,我发现最简单的方法是选择ID值最高的行。选择具有最大id值的表行
我想知道是否有人可以帮我完成这件事?
事情是这样的:
的mysql_query( “SELECT * FROM表WHERE ID = MAX(ID)”
我正在尝试编写mysql语句,用于从表中选择最后一个添加的值。 由于我的表中的id列是一个自动递增值,我发现最简单的方法是选择ID值最高的行。选择具有最大id值的表行
我想知道是否有人可以帮我完成这件事?
事情是这样的:
的mysql_query( “SELECT * FROM表WHERE ID = MAX(ID)”
MAX是你不能这样
尝试使用集合/组功能这
SELECT *
FROM blog
ORDER BY id DESC LIMIT 1;
OR
SELECT *
FROM blog
where id=LAST_INSERT_ID();
OR
SELECT *
FROM blog
WHERE (id = (SELECT MAX(id) FROM blog LIMIT 1))
您可以使用LAST_INSERT_ID()
找到最后插入id.Hence,你的查询可以是这样的:
SELECT *
FROM blog
where id=LAST_INSERT_ID();
当您的查询工作,你必须这样做:
SELECT *
FROM blog
WHERE id=(
SELECT max(id) FROM blog
)
由于某种原因,这是不返回任何东西,因为现在我只有1行,但它仍然应该返回它,它不返回任何东西,我没有得到任何错误虽然当我尝试访问它的PHP行['ID'] – AnchovyLegend 2012-07-21 15:26:49
检查出更新的答案.... – 2012-07-21 15:37:55
查询执行写入后:
$id = mysql_insert_id();
获取最后插入的记录的ID。
我很欣赏这种回应。我会试一试。是否有理由知道,为什么我的查询不起作用?我知道mySQL具有MAX函数...? – AnchovyLegend 2012-07-21 15:24:25
MAX是组功能,你不能使用这种方式 – 2012-07-21 15:28:55