2016-06-15 7 views
1

sqlite DBの最後の1000レコードを削除します。
次の文はエラーなしで実行されますが、すべてのレコードが削除されます(影響を受けます)。SQLITE:RowIDでレコードを削除する

私は、次のSQL文を使用します。

DELETE FROM LOGS WHERE (SELECT ROWID FROM LOGS ORDER BY ROWID DESC LIMIT 1000) 

任意のアイデア?

答えて

2

まず、サブクエリが、それは正しい結果を返す場合、あなたは以下のクエリを試みることができる最後の1000の記録

SELECT ROWID FROM LOGS ORDER BY ROWID DESC LIMIT 1000 

を返すチェック。 WHERE句にROWID INを追加しました

DELETE FROM LOGS WHERE ROWID IN (SELECT ROWID FROM LOGS ORDER BY ROWID DESC LIMIT 1000) 
関連する問題