Мой метод onCreate объекта SQLiteOpenHelper содержит следующий код:
Log.d("mytag", "oncreate is called");
db.execSQL("CREATE TABLE TrainingSession (id INTEGER PRIMARY KEY, session_date TEXT, session_status TEXT)");
Log.d("mytag", "tables were created");
Выход Logcat содержит только первый Log.d:
oncreate is called
А потом приложение вылетает. Что не так с моим оператором создания таблицы?
EDIT
Logcat фактически говорит, что таблица TrainingSession уже существует. Однако мой метод onUpgrade выглядит так:
Log.d("mytag", "onupgrade is called");
db.execSQL("DROP TABLE IF EXISTS TrainingSet; DROP TABLE IF EXISTS TrainingSession;");
onCreate(db);
и вывод Logcat этого метода, как и ожидалось, метод вызывается:
onupgrade is called
Если вызывается onUpgrade и таблицы удаляются, то почему onCreate говорит, что TrainingSession уже существует?