Tôi có một bảng người (tên, địa chỉ, số điện thoại), bảng của tôi có 2000 hàng trở lên. Tôi muốn xóa 1000 hàng. Làm thế nào về các truy vấn?Làm cách nào để xóa dữ liệu có số hàng cụ thể (sqlite)
5
A
Trả lời
9
Tôi giả sử bạn muốn xóa "1000 hàng đầu tiên" cho trật tự không được phân loại về kết quả "chọn" truy vấn không có phân loại đối số và không có tiêu chí, trong trường hợp này bạn đang làm điều gì sai.
Nhưng, như một bài tập học thuật, dưới đây là cách bạn muốn thực hiện. Tất cả các hàng trong một SQLite có trường rowid
, mà bạn có thể sử dụng để tìm nơi 1000 hàng kết thúc.
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
5
http://www.sqlite.org/lang_delete.html
Nếu bạn đã có bản cập nhật SQLite hạn xóa kích hoạt
Delete from your_table
where any_filter_you_wanted_as_well
order by if_you_have_a_preference
limit 1000
Tôi thực sự cảm thấy bực bội khi nhìn vào truy vấn của bạn (xin lỗi tôi là người mới chơi sql!) Tôi thử nhưng tôi không thể nhận được kết quả. – Dennie