2012-08-03 70 views
0
SELECT event.event_name, restaurants.res_name 
FROM event_choices 
INNER JOIN restaurants 
ON event_choices.res_id = restaurants.res_id 
INNER JOIN event 
ON event_choices.event_id = event.event_id 

我想根據event_id得到最後插入的記錄,這個查詢帶回所有的記錄。如何使用mysql檢索上次插入的ID?

類似於mysql_insert_id()會做的事情。

是否可以修改查詢以僅返回最後插入的記錄?

我的數據是這樣的,我需要返回最後event_id及其使用限制1得到最後一行匹配res_id

event_id | res_id 
116  | 1 
116  | 2 

回答

2
SELECT event.event_name, restaurants.res_name 
FROM event_choices 
INNER JOIN restaurants ON event_choices.res_id = restaurants.res_id 
INNER JOIN event ON event_choices.event_id = event.event_id 
WHERE event.event_id = (SELECT MAX(event_id) FROM event) 
+0

購買,但我需要根據事項標識得到最後插入的記錄 – Grundizer 2012-08-03 00:31:42

+0

@Grundizer這就是爲什麼我們都先使用'order by'來確保最高的ID位於結果的頂部,那麼我們將查詢限制爲只有一個結果 - ergo,您想要的結果。 – Fluffeh 2012-08-03 00:35:37

+0

編輯我的答案...這不會限制結果爲一個,並會抓住最後一個'event_id' – 2012-08-03 00:37:33

相關問題