2010-08-19 3 views

Répondre

12

Si je dois tronquer une table, je l'abandonne simplement et la recréer.

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

Lorsque WHERE est omis dans une instruction DELETE et la table suppression n'a pas triggers, SQLite utilise une optimisation pour effacer la totalité du contenu de la table sans avoir à visiter chaque ligne de la table individuellement. Cette optimisation "tronquée" rend la suppression plus rapide.
+0

il n'y a pas d'autre moyen? – Kandha

1

Ce code je, juste pour illustration:

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);