我想从数据库表中获取最后4个ID,这基本上应该是4个最新/最近添加的字段。
我知道PHP中有一个lastInsertId()
函数可以获得最后一个函数。
例如,如果我将最后插入的ID存储到这样的变量中:
$productID = $db->lastInsertId();
但是如何才能获得最后4个ID而不是最后一个?
有没有快速解决这个问题?
假设有一个ID,它是每条记录的主键。
修改
我的ID字段是自动递增的,因为我之前忘记提及
答案 0 :(得分:3)
select WHATEVER_FIELDS from TABLE order by IDFIELD desc limit 4
答案 1 :(得分:0)
MYSQL: LAST_INSERT_ID FUNCTION
我将在这里提到一些提到的注释
因此,为了检索最后4个插入的ID,您必须检查您正在进行的每个插入/更新的ID。
选择最后4行不是一个选项 - 考虑这个: * person A使用autoid 1插入行 *人B用autoid 2插入行 * person A使用autoid 3,4插入行 *人B用autoid 5插入行 * person A使用autoid 6插入行
如果您是A人,并且在每次插入后检查上次插入的ID ,您将获得:1, 3, 4, 6
如果您是B人,则会获得2, 5
如果您是A人并使用该查询进行选择,您将获得3,4,5,6
还有一个 - 如果你的行没有自动增加ID,这就是我正在做的事情:
答案 2 :(得分:-1)
只有 1 最后插入的ID,并且在每次进行插入的查询之后。因此lastInsertId()
返回该ID,并在插入完成后调用它。
这意味着您必须在每次插入查询后调用lastInsertId()
4次并将其结果存储在数组中。
编辑:我知道可以使用SELECT查询最后4个ID,但这不是OP要求的。如果OP需要DB中的最后4个ID,而不是最后插入的4个ID,那么问题应该以完全不同的方式形成。