2010-08-19 27 views

Trả lời

12

Nếu tôi phải cắt bớt một bảng, tôi chỉ cần thả và tạo lại bảng.

Documentation (http://www.sqlite.org/lang_delete.html):

Khi WHERE được bỏ qua từ một tuyên bố DELETE và bảng bị xóa không có người gây nên, SQLite sử dụng một tối ưu hóa để xóa toàn bộ nội dung bảng mà không cần phải truy cập mỗi hàng của bảng riêng. Tối ưu hóa "cắt ngắn" này làm cho quá trình xóa chạy nhanh hơn nhiều.
+0

không có cách nào khác? – Kandha

1

Đây là mã tôi đã sử dụng, chỉ mang tính minh họa:

private static final String TABLE_SCHEMA = "CREATE TABLE " + TABLE_NAME + " (\"id\" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE , \"runtime\" INTEGER, \"timestamp\" DATETIME DEFAULT CURRENT_TIMESTAMP)"; 

db.execSQL("DROP TABLE " + TABLE_NAME); 

db.execSQL(TABLE_SCHEMA); 
Các vấn đề liên quan