如何删除具有特定行号的数据(sqlite)

Den*_*nie 5 sqlite sql-delete

我有一个表人(姓名,地址,电话),我的表有2000多行.我想删除1000行.怎么样的查询?

Ale*_*x B 9

我假设你想删除"前1000行"给定"select"查询结果的未排序顺序,没有排序参数和没有标准,在这种情况下你做错了.

但是,作为一项学术活动,这就是你如何做到的.SQLite中的所有行都有rowid字段,您可以使用该字段查找这1000行结束的位置.

sqlite> create table t(s string);
sqlite> insert into t values('a1');
sqlite> insert into t values('a2');
sqlite> insert into t values('a3');
sqlite> insert into t values('a4');
sqlite> select * from t;
a1
a2
a3
a4
sqlite> delete from t where rowid < (select rowid from t limit 2,1);
sqlite> select * from t;
a3
a4
Run Code Online (Sandbox Code Playgroud)


And*_*rew 5

http://www.sqlite.org/lang_delete.html

如果您启用了SQLite更新删除限制

Delete from your_table 
where any_filter_you_wanted_as_well 
order by if_you_have_a_preference
limit 1000
Run Code Online (Sandbox Code Playgroud)