[英]How to add a new table in existing Sqlite DB
我在 sqlite 中创建了一个数据库,并在这个数据库中创建了一个表。 现在我想在这个数据库中再添加一个表(posts_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方法。
onCreate方法只会在数据库的生命周期内自动调用一次,以便数据库持续存在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.