テーブル people (名前、住所、電話) があり、テーブルには 2000 行以上あります。1000行を削除したい。クエリはどうですか?
13259 次
2 に答える
10
「select」クエリの結果のソートされていない順序を考慮して、「最初の1000行」を削除したいと思います。この場合、ソート引数も基準もありません。この場合、何か間違ったことをしています。
しかし、アカデミックな演習として、これを行う方法を次に示します。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
于 2009-10-15T12:42:06.133 に答える
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
于 2009-10-15T12:39:15.877 に答える