SQLITE:按行ID删除记录

时间:2016-06-15 17:08:00

标签: sql sqlite

我想删除sqlite DB中的最后1000条记录 以下语句执行时没有错误,但删除(影响)所有记录。

我使用以下SQL语句:

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

有什么想法吗?

1 个答案:

答案 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)