Sqlite で、最後の 10 レコードを削除する方法を教えてください。次のコーディングを書きましたが、まったく機能していないようです。
delete from tb_news where newsid = (SELECT newsid from tb_news order by newsid asc limit 10)
Sqlite で、最後の 10 レコードを削除する方法を教えてください。次のコーディングを書きましたが、まったく機能していないようです。
delete from tb_news where newsid = (SELECT newsid from tb_news order by newsid asc limit 10)
使用できます
delete from tb_news where newsid IN
(SELECT newsid from tb_news order by newsid desc limit 10)
SQL ステートメントを以下のように変更します。
delete from tb_news where newsid IN (SELECT newsid from tb_news order by newsid DESC limit 20)
補足: sqllite は、サブクエリで LIMIT をサポートしていない場合があります。
試しましたか?
delete from tb_news where newsid IN (SELECT newsid from tb_news order by newsid asc limit 20)
あなたのテーブル構造はわかりませんが、ASC ではなく DESC にする必要があるかもしれません。つまり、DESC は最大の ID (つまり最新の ID) を提供します。