6

Sqlite で、最後の 10 レコードを削除する方法を教えてください。次のコーディングを書きましたが、まったく機能していないようです。

delete from tb_news where newsid = (SELECT newsid from tb_news order by newsid asc limit 10)
4

3 に答える 3

10

使用できます

 delete from tb_news where newsid IN 
(SELECT newsid from tb_news order by newsid desc limit 10)
于 2012-10-05T03:07:59.753 に答える
1

SQL ステートメントを以下のように変更します。

delete from tb_news where newsid IN (SELECT newsid from tb_news order by newsid DESC limit 20)

補足: sqllite は、サブクエリで LIMIT をサポートしていない場合があります。

于 2012-10-05T03:05:05.083 に答える
0

試しましたか?

delete from tb_news where newsid IN (SELECT newsid from tb_news order by newsid asc limit 20)

あなたのテーブル構造はわかりませんが、ASC ではなく DESC にする必要があるかもしれません。つまり、DESC は最大の ID (つまり最新の ID) を提供します。

于 2012-10-05T03:22:22.143 に答える