[英]How to get last 4 inserted ID's in MySQL
我想從數據庫表中獲取最后插入的4個ID,基本上應該可以獲取4個最新/最近添加的字段。
我知道PHP中有一個lastInsertId()
函數可以獲取最后一個。
例如,如果我將最后插入的ID存儲到這樣的變量中:
$productID = $db->lastInsertId();
但是,如何獲得最后插入的4個ID,而不僅僅是最后一個?
有沒有解決的辦法?
假設有一個ID,它是每個記錄的主鍵。
編輯
我的ID字段是自動遞增的,我之前已經提到過
select WHATEVER_FIELDS from TABLE order by IDFIELD desc limit 4
我將把這里提到的一些筆記帶到這里
因此,為了檢索最后的4個插入的ID,您必須檢查正在執行的每個插入/更新的ID。
選擇最后4行不是一種選擇-考慮一下:*人A插入具有autoid 1的行*人B插入具有autoid 2的行*人A插入具有autoid 3,4的行*人B插入具有autoid 5的行*人A插入了行具有autoid 6的行
如果您是A人,並且在每次插入后檢查最后插入的ID,您將得到: 1, 3, 4, 6
如果您是B人,您將得到2, 5
如果您是A人並使用該查詢選擇您將得到3,4,5,6
還有一個-如果您的行沒有自動增加ID,這是我在做的事情:
最后插入的ID只有1個,即在每次查詢后插入的ID。 因此, lastInsertId()
返回該ID,並在插入后調用它。
這意味着您必須在每個插入查詢之后調用lastInsertId()
4次,並將其結果存儲在數組中。
編輯 :我知道可以使用SELECT查詢最后4個ID,但這不是OP的要求。 如果OP想要DB中的最后4個ID,而不是插入的最后4個ID,則應該以完全不同的方式形成問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.