2010-08-19 92 views

回答

12

如果我必須截斷一個表,我只需刪除並重新創建它。

文檔(http://www.sqlite.org/lang_delete.html):

當從DELETE語句省略WHERE和被刪除的表沒有觸發條件時,SQLite使用一個優化刪除整個表的內容,而無需訪問表的每一行個別。這種「截斷」優化使刪除運行速度更快。
+0

有沒有其他辦法? – Kandha 2010-08-19 08:51:14

1

這是我使用的代碼,只是爲了說明:

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); 
相關問題