开发者

How can I delete data with specific row number (sqlite)

开发者 https://www.devze.com 2022-12-08 08:52 出处:网络
I have a table people (name, address, phone), my table have 2开发者_如何学C000+ rows. I want to delete 1000 rows. How\'s about the query?I assume you want to delete \"first 1000 rows\" given the unsor

I have a table people (name, address, phone), my table have 2开发者_如何学C000+ rows. I want to delete 1000 rows. How's about the query?


I assume you want to delete "first 1000 rows" given the unsorted order of the result of "select" query with no sorting arguments and no criteria, in which case you are doing something wrong.

But, as an academic exercise, here is how you'd do it. All rows in an SQLite have rowid field, which you can use to find where those 1000 rows end.

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


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

If you had the SQLite update delete limit enabled

Delete from your_table 
where any_filter_you_wanted_as_well 
order by if_you_have_a_preference
limit 1000
0

精彩评论

暂无评论...
验证码 换一张
取 消