在MySQL中有没有一种不太常见的方法呢?

ale*_*lex 1 php mysql

我需要用户获取最后插入的产品.这就是我想出来的

   $query = 'SELECT id
                 FROM products
                 WHERE user_id = ?
                ORDER BY id DESC
                       LIMIT 1';
Run Code Online (Sandbox Code Playgroud)

应该工作,因为id是自动增量.但对我来说,它感觉很糟糕.有一个更好的方法吗?

我不能使用mysql_last_insert_id()或类似的东西,因为我需要特定用户的最后一个产品.

And*_*est 5

为此,我会在表中添加一个DATETIME列.从订购的角度来看,我个人觉得不能依赖AUTO_INCREMENT的行为.此外,它的目的是"为新行生成唯一的标识".除此之外,你不应该真正关心价值.

  • @ysth:我想说使用聚合通常比选择更大的集合并使用LIMIT子句更受欢迎. (3认同)