Я не могу обновить базу данных андроида:обновление базы данных SQLite андроид устройство
public class database extends SQLiteOpenHelper {
// Database creation sql statement
private static final String DATABASE_NAME = "myDatabase";
private static final String DATABASE_CREATE_login = "CREATE TABLE login (userJoomla INTEGER, idUSER INTEGER PRIMARY KEY, name varchar(20), email varchar(50))";
private static final String DATABASE_CREATE_position = "CREATE TABLE position(latitude VARCHAR(20), longitude VARCHAR(20), address VARCHAR(100), lastUpdate DATETIME)";
private static final String DATABASE_CREATE_favorites = "CREATE TABLE favorites(_id INTEGER PRIMARY KEY AUTOINCREMENT, idSPB INTEGER UNIQUE NOT NULL)";
private static final int DATABASE_VERSION = 2;
public database(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// Create the table
db.execSQL(DATABASE_CREATE_login);
db.execSQL(DATABASE_CREATE_position);
db.execSQL(DATABASE_CREATE_favorites);
}
// Method is called during an upgrade of the database, e.g. if you increase
// the database version
@Override
public void onUpgrade(SQLiteDatabase database, int oldVersion,int newVersion) {
Log.w(database.class.getName(),"Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data");
database.execSQL("DROP TABLE IF EXISTS " + DATABASE_NAME);
onCreate(database);
}
}
Исключение я поймал было:
Can't upgrade read-only database from version 1 to 2:
я прочитал здесь, что она должна быть решена с;
db = fav.getWritableDatabase();
Но теперь у меня есть эта ошибка:
table login already exists.
Что я должен делать?
Спасибо заранее