0

文字列のみで構成されるテーブルがあります(かなり醜いデザインですが、とにかく)。最悪なのは、時間ごとにレコードを追加するスクリプトがあることです。レコードが削除されることはありません。

MySQL はレコードをランダム アクセス ファイルに格納し、レコードの最大長を知っていて EOF を見つけることができるため、C 言語などを使用して最後のレコードまたはその他のレコードを取得できると思います。

MySQL で" " のようなことSELECT * FROM tableをすると、すべてのレコードが正しい順序で取得されます。これは、MySQL がこのファイルを最初から最後まで読み取るためです。私は最後のものだけが必要です。

なしで、MySQL クエリのみを使用して LAST レコード (またはレコード) を取得する方法はありますORDER BYか?


まあ、ここで解決策を見つけたと思うので、現在のクエリは

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

より良い解決策があれば、私に知らせてください!

4

2 に答える 2

2

を使用しない限り、順序は保証されませんORDER BY。取得しているレコードが、必要な方法で並べ替えられているだけです。

于 2013-06-04T14:45:24.000 に答える
1

キーの重要性は次のとおりです (主キーなど)。デフォルト値primary key columnを持つ を追加することで、テーブルに変更を加えることができます。auto_increment次に、クエリを実行できます

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

最後に挿入された行を取得します。

于 2013-06-04T14:46:58.083 に答える