如何使用SQLite查询从表中删除前几条记录?

时间:2012-04-30 02:24:48

标签: sqlite

如果记录计数为110,我想从SQLite中的表中删除前10条记录(即记录1到10)。我的表中只需要100条记录。如果记录计数超过100,则应删除这些记录,因此如果我添加新记录,那么也只应存在100条记录。怎么可能使用SQLite查询,请提供您的建议。感谢。

3 个答案:

答案 0 :(得分:5)

我认为,每当表格增长超过100行时,通过删除第一行“X”行,您希望在表中保留100行。您可以这样做:

Delete from table_name where rowid IN (Select rowid from table_name limit X);

当SQLite表增长时,这将继续删除第一个“X”行。

答案 1 :(得分:0)

首先,您必须执行一个select,返回表中的最后100条记录,然后使用delete命令删除结果中没有的所有ID,如下所示:

DELETE FROM tbl_name WHERE NOT EXISTS in (SELECT id FROM tbl_name ORDER BY id LIMIT 100 );

希望这有帮助!

答案 2 :(得分:-2)

DELETE FROM {{ table }} LIMIT 0, 10

我不完全确定这是否正确,此时我无法检查。