我想删除sqlite DB中的最后1000条记录 以下语句执行时没有错误,但删除(影响)所有记录。
我使用以下SQL语句:
DELETE FROM LOGS WHERE (SELECT ROWID FROM LOGS ORDER BY ROWID DESC LIMIT 1000)
有什么想法吗?
答案 0 :(得分: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)