如何选择MySQL表中的最后一行?
我正在插入数据,我需要从前一行检索一个列值。
表中有一个auto_increment。
如何选择MySQL表中的最后一行?
我正在插入数据,我需要从前一行检索一个列值。
表中有一个auto_increment。
当前回答
在一个查询中没有ID:
SELECT * FROM table_name LIMIT 1 OFFSET (SELECT COUNT(*) - 1 FROM table_name)
其他回答
是的,这里有一个auto_increment
如果您想要的是表中所有行的最后一行,那么现在正是MAX(id)是正确答案的时候!一种:
SELECT fields FROM table ORDER BY id DESC LIMIT 1;
你可以在LIMIT命令中使用OFFSET:
SELECT * FROM aTable LIMIT 1 OFFSET 99
如果您的表有100行,则返回最后一行而不依赖于主键
在有很多行的表上,两个查询可能更快…
SELECT @last_id := MAX(id) FROM table;
SELECT * FROM table WHERE id = @last_id;
简单地使用:PDO::lastInsertId
http://php.net/manual/en/pdo.lastinsertid.php
在一个查询中没有ID:
SELECT * FROM table_name LIMIT 1 OFFSET (SELECT COUNT(*) - 1 FROM table_name)