В Java, как я могу удалить таблицу sqlite? - PullRequest
13 голосов
/ 19 марта 2011

Я занимаюсь разработкой приложения для Android.Я должен разработать кнопку xml в своей деятельности и создать базу данных и таблицы sqlite.Как я могу просто позволить пользователю нажать кнопку, чтобы удалить таблицу?Спасибо.

Ответы [ 4 ]

38 голосов
/ 19 марта 2011

Трудно ответить без дополнительного контекста, но окончательный запрос sqlite будет:

db.execSQL("DROP TABLE IF EXISTS table_name");

Где db - ссылка на объект SqliteDatabase.

17 голосов
/ 13 февраля 2015

В вашем вопросе есть некоторая неопределенность Обратите внимание, что существует разница между DELETING таблицы и DROPPING таблицы. Удаление таблицы просто стирает все данные из ее строк:

database.delete(TABLE_NAME, null, null);

После этого вы можете ссылаться на таблицу, поскольку она все еще существует, но создание новой с тем же именем может быть проблематичным без использования выражения CREATE TABLE IF NOT EXISTS в sql.

Использование DROP TABLE полностью удаляет таблицу, и на нее нельзя ссылаться снова, пока она не будет воссоздана.

Как отмечали другие, это должно работать, если вы хотите полностью удалить его из базы данных:

db.execSQL("DROP TABLE IF EXISTS table_Name");
0 голосов
/ 17 марта 2018

как метод Singleton

 // todo DELETE a special field(s)
public boolean deleteFromTable(int yurtId) {
    SQLiteDatabase database = dbHelper.getReadableDatabase();
    final String whereClause = DBHelper.COLUMN_Y_YURT_ID + " =?";
    final String whereArgs[] = {String.valueOf(yurtId)};
    int affectedRows = database.delete(DBHelper.TABLE_NAME_YEMEKCI, whereClause, whereArgs);
    return affectedRows > 0;
}

  // todo DELETE all table 
public boolean deleteTable() {
    SQLiteDatabase database = dbHelper.getReadableDatabase();
    int affectedRows = database.delete(DBHelper.TABLE_NAME_YEMEKCI, null, null);
    return affectedRows > 0;
}
0 голосов
/ 06 ноября 2013
SQLiteDatabase sdb;
sdb=openOrCreateDatabase("dbname.db", Context.MODE_WORLD_WRITEABLE, null);
sdb.execSQL("DROP TABLE IF EXISTS tablename");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...