Подтвердить что ты не робот

Мы можем использовать запрос truncate в sqlite android

Можно ли использовать запрос truncate в базе данных Android? в противном случае мы можем выполнить операцию усечения с использованием нашего java-кода?

4b9b3361

Ответ 1

Если мне нужно усечь таблицу, я просто сниму ее и заново создаю.

Документация (http://www.sqlite.org/lang_delete.html):

Когда WHERE исключается из оператора DELETE, а удаляемая таблица не имеет триггеров, SQLite использует оптимизацию для стирания всего содержимого таблицы без необходимости посещать каждую строку таблицы отдельно. Эта оптимизация "усечения" делает процесс удаления намного быстрее.

Ответ 2

УДАЛИТЬ ИЗ tablename
ВАКУУМНАЯ

Пример:

db.execSQL("DELETE FROM " + TABLE_NAME);
db.execSQL("VACUUM");

Примечание: это не будет reset нумерация строк для строк с использованием AUTOINCREMENT. Для этого вам нужно будет отбросить таблицу и заново создать ее.

источник: http://phpcode.mypapit.net/how-to-truncate-table-in-sqlite-database/49/

Ответ 3

Это код, который я использовал, только для иллюстрации:

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