我正在嘗試編寫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