获取文件中的最后一条记录

时间:2013-06-04 14:42:04

标签: mysql sql

我有一张桌子(设计相当难看,但无论如何),它只包含字符串。最糟糕的是,有一个脚本可以及时添加记录。记录永远不会被删除。

我相信,MySQL将记录存储在一个随机访问文件中,我可以使用C语言或其他东西获取最后一个或任何其他记录,因为我知道记录的最大长度,我可以找到EOF。

当我在MySQL中执行类似“SELECT * FROM table”的操作时,我会以正确的顺序获取所有记录 - 因为MySQL从头到尾读取此文件。我只需要最后一个。

有没有办法只使用MySQL查询获取LAST记录(或记录),而没有ORDER BY


好吧,我想我找到了一个解决方案here,所以我当前的查询是

SELECT 
   @i:=@i+1 AS iterator, 
   t.* 
FROM 
   table t,
   (SELECT @i:=0) i 
ORDER BY 
     iterator DESC
LIMIT 5

如果有更好的解决方案,请告诉我们!

2 个答案:

答案 0 :(得分:2)

除非您使用ORDER BY,否则无法保证订单。只是碰巧你回来的记录按照需要的方式排序。

答案 1 :(得分:1)

以下是密钥(例如主密钥)的重要性。 您可以通过添加primary key column auto_increment默认值来对表格进行一些修改。 然后你可以查询

select * from your_table where id =(select max(id) from your_table);

并获取最后插入的行。