Android 如何在现有Sqlite数据库中添加新表
我在sqlite中创建了一个DB,在这个DB中创建了一个表。现在我想在这个数据库中再添加一个表(posts_table)。 但当我运行应用程序时,数据库中不会创建新表Android 如何在现有Sqlite数据库中添加新表,android,sqlite,android-studio,android-sqlite,Android,Sqlite,Android Studio,Android Sqlite,我在sqlite中创建了一个DB,在这个DB中创建了一个表。现在我想在这个数据库中再添加一个表(posts_table)。 但当我运行应用程序时,数据库中不会创建新表 @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL( "create table users_table " +
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL(
"create table users_table " +
"(id integer primary key, username text)"
);
sqLiteDatabase.execSQL(
"create table posts_table " +
"(id integer primary key)"
);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion ) {
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS users_table");
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS posts_table");
onCreate(sqLiteDatabase);
}
您需要卸载应用程序(然后数据库文件将被删除,所有当前数据将丢失)或增加数据库版本号,在这种情况下,将调用onUpgrade方法删除表(如果存在,则会丢失表中的所有数据)然后调用onCreate方法
- 数据库版本号通常是传递给SQLiteOpenHelper的第四个参数,不过如果您使用构造函数传递打开参数(在这种情况下,它是第三个参数),请参阅